Python基本语法
基本语法
缩进
if x > 0:
print("正数")
elif x = 0:
print("0")
else:
print("负数")
def add(x,y):
return x+y
缩进支持使用4个空格或tab进行缩进,由于在不同平台上tab长度不一样,建议统一使用4个空格缩进,不要混合使用空格和tab缩进。
一行多条语句
x=1; y=2; print(x+y)
断行
print("this line is too long,
so I break it to two lines")
注释
# 单行注释
a = 1
'''这是一段
多行注释'''
def add(x, y):
"""加法函数:这是docstring(函数说明)"""
pass
类型注释
在函数中,可以对参数及返回值类型进行注释,示例如下:
def add(x: int, y: int) -> int:
return x+y
注释只是一种声明,不影响运行,运行时也不会做类型检查。
变量
- 变量类型(局部变量、全局变量、系统变量)
- 变量赋值
- 多重赋值
x=y=z=1
- 多元赋值
x,y = y,x
- 变量自增
x+=1
,x-=1
(不支持x++
,x--
)
Python3中没有常量
运算符
- 算术运算符:一般用于数字类型的计算
- +:加,如
1+2
,结果为3,在字符串中为连接,如'1' + '2'
,结果为'12',不同类型不能直接相加。 -
- :减,如
3-1
,结果2
- :减,如
- :乘,如`23,结果为6
- /:除:如
3/2
,结果为1.5 - //:地板除(只向下保留整数),如
3//2
,结果为1,3//-2
,结果为-2 - **:乘方,如
4**2
,结果为16 - %: 取余,如果
5%2
,结果为3
- +:加,如
- 比较运算符:可用于两个相同类型对象的比较
- ==:相等比较,如
1+1==2
,结果为True,{'a': 1, 'b': 2} = {'b': 1 , 'a': 1}
,结果为True - !=:比较是否不等,如
1+1 != 3
,结果为True,[1,2,3] != [2,1,3]
,结果为True -
: 比较大于
- <:比较小于
-
=: 比较大于等于
- <=:比较小于等于
- ==:相等比较,如
- 身份运算符:用于判断是否同一对象
- is:判断是同一对象,'=='只判断值是否相等,如
True==1
,is则判断是否同一对象(使用id()得出的内存地址相同),2>1 is True,结果为True,
a=None;a is None`,结果为True - is not:判断非同一对象,如
True is not 1
结果为True。
- is:判断是同一对象,'=='只判断值是否相等,如
- 赋值运算符:用于将值赋给变量
- =:赋值,如
a = 1
,将1赋给变量a,支持多重赋值,如a,b = 1,2
或a,b=[1,2]
(赋值时序列会自动解包变为1,2两个变量),结果为将1赋给a,将2赋给b - +=:变量自增,如
a+=1
相当于a=a+1
- -=: 自减
- *=:自乘
- /=:自除
- //=:自地板除
- **=:自乘方
- %=:自取余
- =:赋值,如
- 逻辑运算符:用于多个表达式的逻辑判断,有短路效应
- and:并且,如
1>2 and 1>0
,都为真时返回最后一个结果的值。当第一个条件为假时不执行后面的判断,直接返回False,如果第一个条件为真时结果为第二个判断的结果(本例实际1>0不会执行) - or:或,如
1>2 or 1>0
,返回第一个为真的值或都无假时返回最后一个结果的值。当第一个条件为真是不执行后面的判断,直接返回True,否则返回第二个结果的值(本例1>0会执行) - not:非,如
not 1>2
,结果为True
- and:并且,如
- 成员运算符:用于判断包含,常用判断字符串、列表、元祖、集合、字典中是否包含某元素(某键值)
- in:是否在其中,如
a in 'abcd'
,结果为True,或1 in [1,2,3]
,结果为True,或'name' in {'name': 'kevin', 'age': 12}
,结果为True。 - not in:判断不包含,如
a not in 'bcde'
结果为True,从效率上由于not in会对比所有的元素,因此效率比使用in低
- in:是否在其中,如
- 位运算符:用于二进制或集合运算
- &:按位与
- |:按位或
- ~:按位取反
- ^:按位异或
- <<:左移
-
:右移
运算符优先级
表达式与语句
Python代码由表达式和语句组成
表达式(Expression)是运算符(operator)和操作数(operand)所构成的序列,语句是让计算机执行特定操作的指示。
表达式
表达式一般结果为一个Python对象,如1+2
, int('123')
,range(10)
表达式一般可以包含算数运算符、比较运算符、逻辑运算符、成员运算符、位运算符,但不能包含赋值运算符
由于表达式计算后返回一个Python对象,因此表达式可以当做待计算的变量一样使用,如用于assert断言语句后,print语句中,if语句中:
print(2>1)
assert 2>1
if 2>1:
....
表达式计算,如果有个字符串如
'1+1'
,想要按Python表达式方式求值可以使用eval函数,eval('1+1')
,结果为2。
语句
结果不是对象的代码则成为‘语句’。它们表示的是一个动作而不是生成或者返回一个值。
常见的Python语句有:
- 赋值语句
- 调用
- print:打印对象
- if/elif/else
- for/else、while/else
- pass
- break、continue
- def
- return、yield
- global
- raise
- import、from ... import