运算符
算术
c = a + b # 加c = a - b # 减、或取负c = a * b # 乘、或若干倍,如字符串,列表,元组。c = a / b # 除以# >>python 2.x# 1 / 2 = 0# 1.0 / 2 = 0.5# >>python 3.x# 1 / 2 = 0.5c = a % b # 模除,(a % b) == a - (a//b)*b,恒成立c = a ** b # a的b次方c = a // b # 整除,向下取整,-10 / 3 = -4
关系
返回值0或1。
True = 1,False = 0。
a == b #是否相等a != b #是否不相等a <> b #同上,pyhon 3.x已经废弃。a < b #小于a > b #大于a <= b #小于等于b >= a #大于等于a < b == c #等价于a < b && b == c
序列的比较
序列:字符串、列表、元组、字典、集合。
序列的比较和C++规则类似,字典序比较,递归子元素比较。
(1, 2, 3) < (1, 2, 4)[1, 2, 3] < [1, 2, 4]'ABC' < 'C' < 'Pascal' < 'Python'(1, 2, 3, 4) < (1, 2, 4)(1, 2) < (1, 2, -1)(1, 2, 3) == (1.0, 2.0, 3.0)(1, 2, ('aa', 'ab')) < (1, 2, ('abc', 'a'), 4)
逻辑
在python中,True = 1,False = 0。
#python的条件判断:#0,'',(),[],{},None,set()为False,否则为True。#a为True,意思是a的条件判断为True。a and b #若a为True返回b,否则返回aa or b #若a为True返回a,否则返回bnot a #a的条件判断取反############短路运算符#and和or也被称为短路运算符,从左往右进行分析,只要能确定True/False了,#就停止分析,并返回最后分析到的值。A and B and C #若A假,不会分析B、C,直接返回A#若A真B假,不会分析C,直接返回BA or B or C #若A真,不会分析B、C,直接返回A#若A假B假,会分析C,最终返回C。
赋值
c = a + b #赋值c += a #都和C/C++类似。c -= 2c *= ac /= ac %= ac **= ac //= a
位运算
a, b = 60, 13#a : 0011 1100#b : 0000 1101a & b = 0000 1100 #“与”运算a | b = 0011 1101 #“或”运算a ^ b = 0011 0001 #“异或”运算~a = 1100 0011 #“取反”运算a >> 2= 0000 1111 #右移a << 2= 1111 0000 #左移
成员运算
a in b #a是否在b序列里。not in #与上相反
身份运算
a is b #a、b是否引用同一个对象。is not #与上相反a = 20b = 20a is b #truea = []b = []a is b #false
优先级
指数最高。
一元 > 二元。
算术 > 关系 > 逻辑。
** 指数 (最高优先级)#一元运算符##算术运算符~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)#二元运算符##* / % // 乘,除,取模和取整除+ - 加法减法#二元运算符##位移运算、位运算>> << 右移,左移运算符& 位 'AND'^ | 位运算符#二元运算符##关系运算符<= < > >= 比较运算符<> == != 等于运算符#二元运算符##七七八八的运算= %= /= //= -= += *= **= 赋值运算符is is not 身份运算符in not in 成员运算符#二元运算符##逻辑运算符not and or 逻辑运算符
