python基础-运算符
一、算术运算符
- ‘+’ 加法
- ‘-’ 减法
- ‘*’ 乘法
- ‘/’ 实数除法:全整数的除法按取整处理,只要含浮点数就正常除
- ‘//’ 整数除法:无论是整数还是浮点数,结果都取整数部分,返回商的整数部分(向下取整)
- ‘**’ 求幂运算:返回x的y次幂
- ‘%’ 取模 :返回除法的余数
>>> a = 2
>>> b = 3
>>> a + b
5
>>> a - b
-1
>>> a * b
6
>>> a/b
0.6666666666666666
>>> a//b
0
>>> a ** b
8
>>> a % b
2
二、比较运算符
- == 等于
- != 不等于
- > 大于
- < 小于
- >= 大于等于
- <= 小于等于
>>> a = 10
>>> b = 20
>>> a == b
False
>>> a != b
True
>>> a > b
False
>>> a < b
True
>>> a >= b
False
>>> a <= b
True
三、赋值运算符
- ‘=’ 等于
- ‘+=’ 加等于 ----> a += b 等价于 a = a + b
- ‘-=’ 减等于 ----> a -= b 等价于 a = a - b
- ‘*=’ 乘等于 ----> a *= b 等价于 a = a * b
- ‘/=’ 除等于 ----> a /= b 等价于 a = a / b
- ‘//=’ 整除等于 ----> a //= b 等价于 a = a // b
- ‘%=’ 求余等于 ----> a %= b 等价于 a = a % b
>>> a = 3
>>> a
3
>>> b = 2
>>> b
2
>>> a += b
>>> a
5
>>> b
2
>>> a -= b
>>> a
3
>>> b
2
>>> a *= b
>>> a
6
>>> b
2
>>> a /= b
>>> a
3.0
>>> b
2
>>> a //= b
>>> a
1.0
>>> b
2
>>> a %= b
>>> a
1.0
>>> b
2
>>>
四、成员运算符
- in:如果在指定的序列中找到了就返回True,否则返回False
- not in :如果在指定的序列中未找就返回True,否则返回False
>>> s = [1,2,3]
>>> a = 1
>>> b = 4
>>> a in s
True
>>> a not in s
False
>>> b not in s
True
五、身份运算符
- is:判断两个标识符是不是引用自一个对象,是则返回True,否则返回False
- is not:判断两个标识符是不是引用自不同对象,是则返回True,否则返回False
>>> a = 1
>>> b = 1
>>> a is b
True
>>> a is not b
False
>>> c = 257
>>> d = 257
>>> c is d
False
>>> c is not d
True
>>>
is 与 == 的区别
- is 用于判断两个变量引用的是对象是否同id(同一块内存空间) – 用来唯一标识一个对象
- == 用于判断引用变量的值是否相等
- 同一id的两个变量,值一定相等;但值相等的两个变量,id不一定相同。
六、逻辑运算符
- 与 and ----> x and y :全为真时,结果才为真(True),任意一个为假,结果为假(False)。
- 或 or ----> x or y :任意一个为真时,结果为真,所有均为假时,结果才会假。
- 非 not ----> not x:x为真时,结果为假,x为假时,结果为真。
>>> x = 1 #非0表示True
>>> y = 1 #非0表示True
>>> z = 0 #0表示false
>>> bool(x and y)
True
>>> bool(x and z)
False
>>> bool(x or y)
True
>>> bool(x or z)
True
>>> bool(z or False)
False
>>> bool(x)
True
>>> bool(z)
False
>>>
七、位运算符
-
按位与(&): 参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
二进制的表示:
5:101
6:1105&6
101
110
100 ---->4(对应的十进制数)
>>> 5 & 6
4
-
按位或(|): 只要对应的二个二进位有一个为1时,结果位就为1。
二进制的表示:
5:101
6:1105|6
101
110
111 ---->7(对应的十进制数)
>>> 5 | 6
7
-
按位异或(^):只要两个位数的值,是不一样的就取1,一样的就取0
二进制的表示:
5:101
6:1105^6
101
110
011 ---->3(对应的十进制数)
>>> 5 ^ 6
3
-
左移动(<<) :运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。
二进制表示:
5:00000101
5 << 2 ----> 向左移两位,左边高位两个0去掉,右边低位补上两个0原先: 00000101
移后:0000010100
00010100 ----> 对应的十进制数为 20
>>> 5 << 2
20
-
右移动(>>) :把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数。
二进制表示:
5:00000101
5 >> 2 ----> 向右移两位,右边两位01去掉,左边补上两个0原先: 00000101
移后: 0000000101
00000001 ----> 对应的十进制数为 1
>>> 5 >> 2
1