我就在这里
分类: Python/Ruby
2013-02-27 08:10:14
运算符 |
描述 |
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< |
移位 |
x&y |
按位与 |
x^y |
按位异或 |
x|y |
按位或 |
x |
比较 |
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
· 简单赋值,Variable(变量)=Value(值)。
· >>>a=1
· >>>b=2
· >>>print a,b
· 1 2
· 多变量赋值,Variable1,variable2,...=Value1,Value2,...
· >>>a,b,c=1,2,3
· >>>print a
· 1
· >>>print b
· 2
· >>>print c
· 3
多变量赋值也可用于变量交换,接上例:
>>>a,b,c=c,b,a
>>>print a
3
>>>print b
2
>>>print c
1
· 多目标赋值,a=b=variable
· >>> a=b=1
· >>> a
· 1
· >>> b
· 1
· >>> a=2
· >>> a
· 2
· >>> b
· 1
· 自变赋值,如+=,-=,*=等。在自变赋值中,python仅计算一次,而普通写法需计算两次;自变赋值会修改原始对象,而不是创建一个新对象。
转自:http://blog.163.com/zhulp0372@yeah/blog/static/11589447920117124348435/