对于python基础的运算而言,想必大家都很熟悉,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算。
一、算数运算
以下假设变量:a=10,b=20
二、比较运算
以下假设变量:a=10,b=20,注:<>不等于在python2中使用,python3中不等于为 !=
三、逻辑运算
以下假设变量:a=10,b=20
四、赋值运算
以下假设变量:a=10,b=20
五、成员运算
示例:
>>> a = "hello"
>>> "he" in a
True
>>> "hl" in a
False
>>> a = [1,5,10,100]
>>> 10 in a
True
>>> 11 in a
False
六、身份运算
== 判断两个变量值是不是相等,is 判断两个变量是不是引用同一个对象,对象id是不是相同。
之前博客有说,python有内存优化机制,长字符串和[-5,257)范围外的数字没有优化,以此为例,例如:
>>> a = 257
>>> b = 257
>>> id(a)
2588953715824
>>> id(b)
2588983651248
>>> a == b
True
>>> a is b
False
>>> c = 256
>>> d = 256
>>> id(c)
1955897424
>>> id(d)
1955897424
>>> c == d
True
>>> c is d
True
七、位运算
之前博客有说二进制和二进制与十进制的转换,位运算符是把数字看作二进制来进行计算的。
以下假设变量:a=60,b=13
# 以下为示例代码,二进制有补0和空格
>>> a = 60
>>> b = 13
>>> bin(a)
'0b0011 1100'
>>> bin(b)
'0b0000 1101'
>>> a&b
12
>>> bin(12)
'0b0000 1100'
>>> a|b
61
>>> bin(61)
'0b0011 1101'
>>> a^b
49
>>> bin(49)
'0b0011 0001'
>>> ~a
-61
>>> bin(-16)
'-0b0001 0000'
>>> a<<2
240
>>> bin(240)
'0b1111 0000'
>>> a>>2
15
>>> bin(15)
'0b0000 1111'
具体的运算符的应用上面已经做了详细说明,下面讲一下这些运算符的优先级,在我们使用的时候,该如何选择合适的运算符,并获取准确的运算结果,这就需要我们对优先级有所了解。
以下表格列出了从最高到最低优先级的所有运算符: