asdrtu 发表于 2018-8-9 08:49:49

001-Python运算符

运算符
  运算符的优先级,
  

1 + 2 * 3  
7
  
2 * 3 ** 2
  
18
  

  
# 算术运算符优先级高于比较运算符
  
2 * 3 > 1 + 2
  
True
  

  
# 比较运算符的优先级高于逻辑运算符
  
2 * 3 > 1 + 2 and True
  
True
  

  
(2 * 3 > 1 + 2) and True
  
True
  
# 拿不准的时候加括号
  

算术运算符
  算术运算符通常只针对数值类型。注意与Python2的区别。
  自然除,
  

>>> 3 / 5  
0.6
  

  整除,
  

>>> 3 // 5  
0
  

逻辑运算符
  参与逻辑运算的成员只能是bool类型,或者可以隐式转化为bool类型的类型。
  and需要运算符两边都是True结果才为True。
  

True and True  
True
  

  or只要运算符两边任意一个为True,结果就为True,
  

True or False  
True
  

  短路,
  

not True  
False
  

  看一个例子,
  

def add(x, y):  print('{0} + {1}'.format(x, y))
  return x + y
  

  
add(1, 3)
  
1 + 3
  
4
  

  
add(1, 3) > add(1, 2) and (2, 4) < add(3, 4)
  
1 + 3
  
1 + 2
  
2 + 4
  
3 + 4
  
True
  

  
# 逻辑运算总是从左到右计算,一旦能够决定表达式最终的值,将立刻停止计算,
  
# 并返回
  
add(1, 3) < add(1, 2) and (2, 4) < add(3, 4)
  
1 + 3
  
1 + 2
  
False
  

  
add(1, 3) > add(1, 2) or add(2, 4) < add(3, 4)
  
1 + 3
  
1 + 2
  
True
  

比较运算符


[*]相等 ==
[*]不等于 !=
[*]大于 &gt;
[*]大于等于 &gt;=
[*]小于 &lt;
[*]小于等于 &lt;=
  几个例子,
  

1 == 1  
True
  

  
1 == 2
  
False
  

  
1 != 2
  
True
  

  
1 > 2
  
False
  

  
2 > 1
  
True
  

  
2 >= 1
  
True
  

  
2 >= 2
  
True
  

  除了==和!=,两边的类型相同。

位运算符
  

# 按位与  
bin(60)
  
'0b111100'
  
# 0011 1100
  
bin(12)
  
'0b1100'
  
# 0000 1100
  
60 & 12
  
12
  

  
# 按位或
  
60 | 12
  
60
  
# 按位异或
  
# 相同为0,不同为1
  
60 ^ 12
  
48
  

  
# 取反
  
~60
  
-61
  

  
# 右移
  
60 >> 2
  
15
  

  
# 左移
  
60 << 2
  
240
  

其他运算符


[*]赋值  

a = 1  
a = 3 + 4
  
# 左边是一个标识符,右边是一个值(或者可以计算为一个值)
  
# 让这个标识符指向这个值所的内存

[*]成员运算符
[*]身份运算符
成员运算符
  用于判断一个元素是否在容器中。


[*]in
[*]not in
  举个简单的例子:
  

>>> L1 =   
>>> 1 in L1
  
True
  
>>> s = 'spam'
  
>>> 'a' in s
  
True
  
>>> 'x' in s
  
False
  
>>> 'x' not in s
  
True
页: [1]
查看完整版本: 001-Python运算符