计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算。
一、算数运算
以下假设变量:a=10,b=20
二、比较运算
以下假设变量:a=10,b=20,注:<>不等于在python2中使用,python3中不等于为 !=
三、逻辑运算
以下假设变量:a=10,b=20
四、赋值运算
以下假设变量:a=10,b=20
五、成员运算
示例:
>>> a = "hello"
>>> "he" ina
True>>> "hl" ina
False>>> a = [1,5,10,100]>>> 10 ina
True>>> 11 ina
False
六、身份运算
== 判断两个变量值是不是相等,is 判断两个变量是不是引用同一个对象,对象id是不是相同。
之前博客有说,python有内存优化机制,长字符串和[-5,257)范围外的数字没有优化,以此为例,例如:
>>> a = 257
>>> b = 257
>>>id(a)2588953715824
>>>id(b)2588983651248
>>> a ==b
True>>> a isb
False>>> c = 256
>>> d = 256
>>>id(c)1955897424
>>>id(d)1955897424
>>> c ==d
True>>> c isd
True
七、位运算
之前博客有说二进制和二进制与十进制的转换,位运算符是把数字看作二进制来进行计算的。
以下假设变量:a=60,b=13
#以下为示例代码,二进制有补0和空格
>>> a = 60
>>> b = 13
>>>bin(a)'0b0011 1100'
>>>bin(b)'0b0000 1101'
>>> a&b12
>>> bin(12)'0b0000 1100'
>>> a|b61
>>> bin(61)'0b0011 1101'
>>> a^b49
>>> bin(49)'0b0011 0001'
>>> ~a-61
>>> bin(-16)'-0b0001 0000'
>>> a<<2
240
>>> bin(240)'0b1111 0000'
>>> a>>2
15
>>> bin(15)'0b0000 1111'
Python运算符优先级
以下表格列出了从最高到最低优先级的所有运算符: