6、Python基础语法
一、Python输出
print是python输出的关键字,默认是输出内容后换行。
如果不想换行,需要在变量末尾加上 end="" 。
a = 'hello'
b = 'world'
print(a)
print(b)
print(a, end=" " )
print(b, end=" " )
print(a, b)
输出信息:
C:\PycharmProjects\untitled\venv\Scripts\python.exe C:/PycharmProjects/untitled/test.py
hello
world
hello world
多个变量输出之间加上逗号(,),默认为空格分隔符,如:
print(x, y)
print(x, y, sep="-")
1、repr() 或 str() 转成字符串
如果你希望将输出的值转成字符串,可以使用 repr() 或 str() 函数来实现。
- str(): 函数返回一个用户易读的表达形式。
- repr(): 产生一个解释器易读的表达形式。
s = 'Hello, Runoob'
print(s)
# Hello, Runoob print(repr(s))
# 'Hello, Runoob' # repr() 函数可以转义字符串中的特殊字符
hello = 'hello, runoob\n'
hellos = repr(hello)
print(hellos)
# 'hello, runoob\n' # repr() 的参数可以是 Python 的任何对象
print(repr((32.5, 40000, ('Google', 'Runoob'))))
# (32.5, 40000, ('Google', 'Runoob'))
2、字符串填充空格进行格式化
字符串对象的 rjust() 方法, 它可以将字符串靠右, 并在左边填充空格。
还有类似的方法, 如 ljust() 和 center()。 这些方法并不会写任何东西, 它们仅仅返回新的字符串。
另一个方法 zfill(), 它会在数字的左边填充 0。
有两种方式输出一个平方与立方的表:
for x in range(1, 11):
print(repr(x).rjust(2), repr(x * x).rjust(3), end=' ') # 注意前一行 'end' 的使用
print(repr(x * x * x).rjust(4)) # 1 1 1
# 2 4 8
# 3 9 27
# 4 16 64
# 5 25 125
# 6 36 216
# 7 49 343
# 8 64 512
# 9 81 729
# 10 100 1000 for x in range(1, 11):
print('{0:2d} {1:3d} {2:4d}'.format(x, x * x, x * x * x)) # 1 1 1
# 2 4 8
# 3 9 27
# 4 16 64
# 5 25 125
# 6 36 216
# 7 49 343
# 8 64 512
# 9 81 729
# 10 100 1000
3、!a (使用 ascii()), !s (使用 str()) 和 !r (使用 repr()) 可以用于在格式化某个值之前对其进行转化
import math
print('使用 ascii(): {!a}'.format('哈哈啊W2'))
# 使用 ascii(): '\u54c8\u54c8\u554aW2'。 print('常量 PI 的值近似为: {!r}。'.format(math.pi))
# 常量 PI 的值近似为: 3.141592653589793。
二、Python标识符
在 Python 里,标识符可由字母、数字、下划线组合而成(但不能以数字开头),且标识符是区分字母大小写的,比如hello和Hello会被系统认为是两个标识符。
以下划线开头的标识符是有特殊意义的。
- 单下划线开头,如 _abc, 代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用" from xxx import * "导入
- 双下划线开头,如 __abc, 代表类的私有成员
- 开头和结尾都有双下划线,如 __abc__ , 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数
三、Python保留字符(关键字)
所有”保留字符“,也就是已经被Python系统征用的标识符,俗称“key word(关键字)”,这些保留字符不能用作常量或变量,以及任何标识符名称。
以下是Python保留字符表:
- and、exec、not、assert、finally、or、break、for、pass、class、from、print、continue、global、raise、def、
- if、return、del、import、try、elif、in、while、else、is、with、except、lambda、yield
四、Python模块写法
与其他语言最大的不同在于,Python不使用大括号( { } )来描述类、函数以及其他逻辑判断,而是采用缩进的方式来写模块。
而缩进的空白数量是可变的,如果你想确保代码块能正确运行,那必须确保代码块中的语句都是一样的缩进数量。举例:
if True:
print ("True") #此处缩进了2个空白数
else:
print ("False") #此处缩进了2个空白数
如果是下面的写法,则会报错,因为最后的print只缩进了2个空白数,没有与代码块中的对齐:
if True:
print ("Answer")
print ("True")
else:
print ("Answer")
# 没有严格缩进,在执行时会报错
print ("False")
报错信息:
File "D:/PythonProject/hello.py", line 7
print ("False")
^
IndentationError: unindent does not match any outer indentation level
因此,建议你使用 单个制表符 或 两个空格 或 四个空格 来对代码进行缩进,切勿混用。
五、Python引号
python中单引号和双引号使用完全相同。
python支持用单引号(' ')、双引号( " " )、三个双引号( """ """ )或三个单引号( ''' ''' ),都可以表示字符串,引号的开始与结束必须相同类型和数量。
1、多行字符串
注意:使用三引号('''或""")可以指定一个多行字符串。可以由多行组成,为编写多行文本的快捷语法,常用于文档字符串。
在文件的特定地点,被当做注释。(见注释讲解)
a = """这是一个三引号。
包含了三个双引号。"""
print(a)
输出结果:
D:/PythonProject/hello.py
这是一个三引号。
包含了三个双引号。
2、转义符 '\'
反斜杠可以用来转义,使用r可以让反斜杠不发生转义。。 如 r"this is a line with \n" 则\n会显示,并不是换行。这里的 r 指 raw,即 raw string
六、Python注释
注释是指用来在代码中进行标注的信息,是不会被系统处理或显示的。Python的注释有2种方式:
1、单行注释#
在一段代码或描述前加上井号(#) ,如:
a = 1+1 #我是一段注释
print(a)
输出结果:
D:/PythonProject/hello.py
2
2、多行注释’’’
用三引号(""" """)或(''' ''')来对多行代码或描述进行注释,如:
a = 1+1
'''我是多行注释
这是第二行
这是第三行'''
print(a)
输出结果:
D:/PythonProject/hello.py
2
七、Python空行
与其他语言不同的还有,python采用空一行的方式,来表示多个函数、多个方法、或类和函数的入口。
空行的作用在于区分两段不同功能或定义的代码,便于日后代码的维护。
因此:空行也是程序代码的一部分。
八、Python用户输入
下面的代码执行后就会等待用户输入,如按回车键后,执行就会结束:
("按下 enter 键退出,其他任意键显示...\n")
九、Python一行多段代码
如果想在同一行中编写多段代码,可以使用分号(;)来表示,如下:
x = 'abc'; print(x)
输出结果:
D:/PythonProject/hello.py
abc
Python可以用分号“;”在同一行编写多条语句,执行后会当作多行输出,如:
>>> print ('hello');
print ('world');
hello
runoob
十、多行语句
Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠(\)来实现多行语句,例如:
total = item_one + \
item_two + \
item_three
在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(\),例如:
total = ['item_one', 'item_two', 'item_three', 'item_four', 'item_five']
十一、三元表达式
语法:条件成立时的返回值 if 条件 else 条件不成立时的返回值
x = 10
y = 20 print(x if x > y else y) # 20
十二、Python代码组
缩进相同的一组语句构成一个代码块,我们称之代码组。
像if、while、def等这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组,如:
if a:
xxxxx
elif b:
xxxxx
else :
xxxxx
十三、import 与 from...import
在 python 用 import 或者 from...import 来导入相应的模块。
- 将整个模块(somemodule)导入,格式为: import somemodule
- 从某个模块中导入某个函数,格式为: from somemodule import somefunction
- 从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
- 将某个模块中的全部函数导入,格式为: from somemodule import *
导入 sys 模块:
import sys
print('================Python import mode==========================')
print ('命令行参数为:')
for i in sys.argv:
print (i)
print ('\n python 路径为',sys.path)
导入 sys 模块的 argv,path 成员:
from sys import argv,path # 导入特定的成员 print('================python from import===================================')
print('path:',path) # 因为已经导入path成员,所以此处引用时不需要加sys.path
十四、Python 调试方法
1、print
print('here')
# 可以发现某段逻辑是否执行
# 打印出变量的内容
2、assert
assert false, 'blabla'
# 如果条件不成立,则打印出 'blabla' 并抛出AssertionError异常
3、debugger
可以通过 pdb、IDE 等工具进行调试。
调试的具体方法这里不展开。
Python 中有两个内置方法在这里也很有帮助:
- locals: 执行 locals() 之后, 返回一个字典, 包含(current scope)当前范围下的局部变量。
- globals: 执行 globals() 之后, 返回一个字典, 包含(current scope)当前范围下的全局变量。
6、Python基础语法的更多相关文章
- python之最强王者(2)——python基础语法
背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...
- Python 基础语法(三)
Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)------------------------- ...
- Python 基础语法(四)
Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...
- Python 基础语法(二)
Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) ------------------------ ...
- Python 基础语法
Python 基础语法 Python语言与Perl,C和Java等语言有许多相似之处.但是,也存在一些差异. 第一个Python程序 E:\Python>python Python 3.3.5 ...
- 吾八哥学Python(四):了解Python基础语法(下)
咱们接着上篇的语法学习,继续了解学习Python基础语法. 数据类型大体上把Python中的数据类型分为如下几类:Number(数字),String(字符串).List(列表).Dictionary( ...
- python学习第五讲,python基础语法之函数语法,与Import导入模块.
目录 python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函 ...
- python学习第四讲,python基础语法之判断语句,循环语句
目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...
- Python基础语法(三)
Python基础语法(三) 1. 数值型数据结构 1.1 要点 在之前的博客也有提到,数值型数据结构在这里就不过多介绍了.在这里提及一些需要知道的知识点. int.float.complex.bool ...
- python学习第三讲,python基础语法之注释,算数运算符,变量.
目录 python学习第三讲,python基础语法之注释,算数运算符,变量. 一丶python中的基础语法,注释,算数运算符,变量 1.python中的注释 2.python中的运算符. 3.pyth ...
随机推荐
- 【记录】【windows】下查看端口是否被占用并杀死该进程
查看端口是否被占用 netstat -aon|findstr "端口号" 比如 netstat -aon|findstr "6340" 杀死该进程 taskki ...
- jquery ajax分页写法
jquery ajax分页写法我用的是laypage插件 前端代码<pre> function demo(curr) { $.getJSON('/home/index/getinfo', ...
- 浅析 Java 中的继承和重写
浅析 Java 中的继承和重写 Java 中的构造方法不能被继承. Java 中 static 修饰的方法可以被继承,但不能被子类重写. Java 中 final 修饰方法不允许被子类重写,但是可以被 ...
- [转帖]很遗憾,没有一篇文章能讲清楚ZooKeeper
很遗憾,没有一篇文章能讲清楚ZooKeeper https://os.51cto.com/art/201911/606571.htm [51CTO.com原创稿件]互联网时代是信息爆发的时代,信息的高 ...
- spring框架是怎么样通过properties来获得对象的?
首先我们要知道java获得对象的方式有四种: 1.通过new语句实例化一个对象. 2.通过反射机制创建对象. 3.通过clone()方法创建对象 3.通过反序列化的方式创建对象 在spring框架中, ...
- 如何同时读取 TDateTimePicker 的 Date 和 Time ?
由于 TDateTimePicker 只能用于日期或时间,不能同时使用.如果将Kind属性设置为dtkDate,则可以指定自定义DATE格式,但忽略任何TIME格式,并且Time未定义使用该属性.如果 ...
- elasticsearch插件
bigdisk安装: 1.下载地址http://bigdesk.org/,注意和elasticsearch的版本对应关系 2.将文件上传到服务器elasticsearch的plugin目录下,解压 3 ...
- 【简解】SP7556 Stock Charts
题目大意 给出一个折线图,有N条线段,你想要把这些线段分成几个集合,使得每个集合中任意两条线段不相交. 求最少集合数. 分析 喵帕斯:以下提及的所有折线均指横坐标在\([1,k]\)里的折线段. 思考 ...
- .Net Core WebApi(3)—NLog
在.Net Core中,微软提供的内置的日志组件没有实现将日志记录到文件.数据库上.这里使用NLog替代内置的日志组件 1.在项目中引入NuGet包 NLog NLog.Web.A ...
- Fluentdata详解
Fluentdata 轻型orm 仅仅一个cs文件 创建并且初始化一个IDbContext. 二选一 public IDbContext Context() { return new DbContex ...