运算符

算术

  1. c = a + b # 加
  2. c = a - b # 减、或取负
  3. c = a * b # 乘、或若干倍,如字符串,列表,元组。
  4. c = a / b # 除以
  5. # >>python 2.x
  6. # 1 / 2 = 0
  7. # 1.0 / 2 = 0.5
  8. # >>python 3.x
  9. # 1 / 2 = 0.5
  10. c = a % b # 模除,(a % b) == a - (a//b)*b,恒成立
  11. c = a ** b # a的b次方
  12. c = a // b # 整除,向下取整,-10 / 3 = -4

关系

返回值0或1。
True = 1,False = 0。

  1. a == b #是否相等
  2. a != b #是否不相等
  3. a <> b #同上,pyhon 3.x已经废弃。
  4. a < b #小于
  5. a > b #大于
  6. a <= b #小于等于
  7. b >= a #大于等于
  8. a < b == c #等价于a < b && b == c

序列的比较

序列:字符串、列表、元组、字典、集合。
序列的比较和C++规则类似,字典序比较,递归子元素比较。

  1. (1, 2, 3) < (1, 2, 4)
  2. [1, 2, 3] < [1, 2, 4]
  3. 'ABC' < 'C' < 'Pascal' < 'Python'
  4. (1, 2, 3, 4) < (1, 2, 4)
  5. (1, 2) < (1, 2, -1)
  6. (1, 2, 3) == (1.0, 2.0, 3.0)
  7. (1, 2, ('aa', 'ab')) < (1, 2, ('abc', 'a'), 4)

逻辑

在python中,True = 1,False = 0。

  1. #python的条件判断:
  2. #0,'',(),[],{},None,set()为False,否则为True。
  3. #a为True,意思是a的条件判断为True。
  4. a and b #若a为True返回b,否则返回a
  5. a or b #若a为True返回a,否则返回b
  6. not a #a的条件判断取反
  7. ############短路运算符
  8. #and和or也被称为短路运算符,从左往右进行分析,只要能确定True/False了,
  9. #就停止分析,并返回最后分析到的值。
  10. A and B and C #若A假,不会分析B、C,直接返回A
  11. #若A真B假,不会分析C,直接返回B
  12. A or B or C #若A真,不会分析B、C,直接返回A
  13. #若A假B假,会分析C,最终返回C。

赋值

  1. c = a + b #赋值
  2. c += a #都和C/C++类似。
  3. c -= 2
  4. c *= a
  5. c /= a
  6. c %= a
  7. c **= a
  8. c //= a

位运算

  1. a, b = 60, 13
  2. #a : 0011 1100
  3. #b : 0000 1101
  4. a & b = 0000 1100 #“与”运算
  5. a | b = 0011 1101 #“或”运算
  6. a ^ b = 0011 0001 #“异或”运算
  7. ~a = 1100 0011 #“取反”运算
  8. a >> 2= 0000 1111 #右移
  9. a << 2= 1111 0000 #左移

成员运算

  1. a in b #a是否在b序列里。
  2. not in #与上相反

身份运算

  1. a is b #a、b是否引用同一个对象。
  2. is not #与上相反
  3. a = 20
  4. b = 20
  5. a is b #true
  6. a = []
  7. b = []
  8. a is b #false

优先级

指数最高。
一元 > 二元。
算术 > 关系 > 逻辑。

  1. ** 指数 (最高优先级)
  2. #一元运算符##算术运算符
  3. ~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ -@)
  4. #二元运算符##
  5. * / % // 乘,除,取模和取整除
  6. + - 加法减法
  7. #二元运算符##位移运算、位运算
  8. >> << 右移,左移运算符
  9. & 'AND'
  10. ^ | 位运算符
  11. #二元运算符##关系运算符
  12. <= < > >= 比较运算符
  13. <> == != 等于运算符
  14. #二元运算符##七七八八的运算
  15. = %= /= //= -= += *= **= 赋值运算符
  16. is is not 身份运算符
  17. in not in 成员运算符
  18. #二元运算符##逻辑运算符
  19. not and or 逻辑运算符