Python运算符列表
运算符 | 描述 |
---|---|
x+y,x-y | 加、减,“+”号可重载为连接符 |
x*y,x**y,x/y,x%y | 相乘、求平方、相除、求余,“*”号可重载为重复,“%”号可重载为格式化 |
<,<=,>,>=,==,<>,!= | 比较运算符 |
+=,-=,*=,/=,%=,**=,<<=,>>=,&=,^=, |= | 自变运算符 |
x|y | 按位或 |
x^y | 按位异或 |
x&y | 按位与 |
~x | 按位取反 |
x<<,x>>y | x向左或向右移y位 |
is, is not | 等同测试 |
in, not in | 是否为成员测试 |
or,and,not | 逻辑运算符 |
x[i],x[i:j],x.y,x(…) | 索引,分片,限定引用,函数调用 |
(…),[…],{…},’…’ | 元组,列表,字典,转化为字符串 |
运算符优先顺序列表(从最高到最低)
运算符 | 描述 |
---|---|
‘expr’ | 字符串转换 |
{key:expr,…} | 字典 |
[expr1,expr2…] | 列表 |
(expr1,expr2,…) | 元组 |
function(expr,…) | 函数调用 |
x[index:index] | 切片 |
x[index] | 下标索引取值 |
x.attribute | 属性引用 |
~x | 按位取反 |
+x,-x | 正,负 |
x**y | 幂 |
x*y,x/y,x%y | 乘,除,取模 |
x+y,x-y | 加,减 |
x<<y,x>>y | 移位 |
x&y | 按位与 |
x^y | 按位异或 |
x | y |
x<y,x<=y,x==y,x!=y,x>=y,x>y | 比较 |
x is y,x is not y | 等同测试 |
x in y,x not in y | 成员判断 |
not x | 逻辑否 |
x and y | 逻辑与 |
x or y | 逻辑或 |
lambda arg,…:expr Lambda | 匿名函数 |
真值表
对象/常量 | 值 |
---|---|
“” | 假 |
“string” | 真 |
0 | 假 |
>=1 | 真 |
<=-1 | 真 |
()空元组 | 假 |
[]空列表 | 假 |
{}空字典 | 假 |
None | 假 |
复合表达式
对于and,当计算a and b时,python会计算a,如果a为假,则取a值,如果a为真,则python会计算b且整个表达式会取b值。如:
>>> a,b=10,20
>>> a and b #a is true
20
>>> a,b=0,5 #a is false
>>> a and b
0
对于or,当计算a or b时,python会计算a,如果a为真,则整个表达式取a值,如果a为假,表达式将取b值。如:
>>> a,b=10,20
>>> a or b
10
>>> a,b=0,5
>>> a or b
5
对于not,not将反转表表达式的“实际值”,如果表达式为真,not为返回假,如为表达式为假,not为返回真。如:
>>> not 2
False
>>> not 0
True
>>> not "test"
False
>>> not ""
True