算数运算符
| 运算符 |
描述 |
| + |
加 - 两个对象相加 |
| - |
减 - 得到负数或是一个数减去另一个数 |
| * |
乘 - 两个数相乘或是返回一个被重复若干次的字符串 |
| / |
除 - x 除以 y |
| % |
取模 - 返回除法的余数 |
| ** |
幂 - 返回x的y次幂 |
| // |
取整除 - 往小的方向取整数 |
比较运算符【返回布尔值】
| 运算符 |
描述 |
| == |
等于 - 比较对象是否相等 |
| != |
不等于 - 比较两个对象是否不相等 |
| > |
大于 - 返回x是否大于y |
| < |
小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 |
| >= |
大于等于 - 返回x是否大于等于y。 |
| <= |
小于等于 - 返回x是否小于等于y。 |
赋值运算符
| 运算符 |
描述 |
实例 |
| = |
简单的赋值运算符 |
c = a + b 将 a + b 的运算结果赋值为 c |
| += |
加法赋值运算符 |
c += a 等效于 c = c + a |
| -= |
减法赋值运算符 |
c -= a 等效于 c = c - a |
| *= |
乘法赋值运算符 |
c *= a 等效于 c = c * a |
| /= |
除法赋值运算符 |
c /= a 等效于 c = c / a |
| %= |
取模赋值运算符 |
c %= a 等效于 c = c % a |
| **= |
幂赋值运算符 |
c **= a 等效于 c = c ** a |
| //= |
取整除赋值运算符 |
c //= a 等效于 c = c // a |
| := |
海象运算符,这个运算符的主要目的是在表达式中同时进行赋值和返回赋值的值。Python3.8 版本新增运算符。 |
|
海象运算符的优点:海象运算符(:=)允许在表达式内部进行赋值,这可以减少代码的重复,提高代码的可读性和简洁性。
使用海象运算符可以在一些情况下简化代码,尤其是在需要在表达式中使用赋值结果的情况下。这对于简化循环条件或表达式中的重复计算很有用。
# 传统写法
n=10
if n>5:
print(n)
# 使用海象运算符
if(n:=10)>5:
print(n)
位运算符
按位运算符是把数字看作二进制来进行计算的。
| 运算符 |
描述 |
| & |
按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 |
| 丨 |
按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 |
| ^ |
按位异或运算符:当两对应的二进位相异时,结果为1 |
| ~ |
按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1 |
| << |
左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 |
| >> |
右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数 |
#位运算符
a=60 #60 = 0011 1100
b=13 #13 = 0000 1101
c=0
c=a&b # 0000 1100 = 12
print("a&b=",c)
c=a|b # 0011 1101 = 32+16+8+4+1 = 61
print("a|b=",c)
c=a^b # 0011 0001 = 49
print("a^b=",c)
c=~a # 1100 0011
'''
a = 0011 1100 第一位0为符号位,0为正数,1为负数
取反,求补码 1100 0011 第一位为1,补码为负数
补码-1,求反码,符号位不变 1100 0010 反码为负数
反码取反为原码 1011 1101 原码为负数, 索引~a=-61
'''
print("~a=",c)
c=a<<2 # 1111 0000 = 128+64+32+16=240
print("a<<2=",c)
c=a>>2 # 0000 1111 = 8+4+2+1=15
print("a>>2",c)
逻辑运算符
| 运算符 |
逻辑表达式 |
描述 |
| and |
x and y |
布尔"与" - 如果 x 为 False,x and y 返回 x 的值,否则返回 y 的计算值。 |
| or |
x or y |
布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 |
| not |
not x |
布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 |
成员运算符
| 运算符 |
描述 |
实例 |
| in |
如果在指定的序列中找到值返回 True,否则返回 False。 |
x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
| not in |
如果在指定的序列中没有找到值返回 True,否则返回 False。 |
x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
身份运算符
身份运算符用于比较两个对象的存储单元。
| 运算符 |
描述 |
实例 |
| is |
is是判断两个标识符是不是引用自一个对象 |
x is y,类似id(x)=id(y),如果引用的是同一个对象则返回true,否则false |
| is not |
is not是判断两个标识符是不是引用自不同对象 |
x is not y,类似id(x)!=id(y),如果引用的不是同一个对象则返回true,否则false |
注:id()函数用于获取对象内存地址
is和区别
is用于判断两个变量引用对象是否为同一个,用于判断引用变量的值是否相等。
https://www.runoob.com/python3/python3-basic-operators.html