1. 算术运算符
# 运算符有 + - * / % // **
# +
i1 = 100
i2 = 200
print(f"{i1} + {i2} = {i1 + i2}")
# -
print(f"{i1} - {i2} = {i1 - i2}")
# *
print(f"{i1} * {i2} = {i1 * i2}")
i3 = 10
i4 = 3
i5 = 2
# /
print(f"{i3} / {i4} = {i3 / i4}")
# % 求余数
print(f"{i3} % {i4} = {i3 % i4}")
# // 取整数
print(f"{i3} // {i4} = {i3 // i4}")
# ** 次幂 i4个i3 相乘
print(f"{i3} ** {i4} = {i3 ** i4}")
# 优先级 ** > * // / % > + -
print(f"{i3} // {i4} ** {i5} = {i3 // i4 ** i5}")
print(f"{i3} * {i4} ** {i5} = {i3 * i4 ** i5}")
print(f"{i3} + {i4} ** {i5} = {i3 + i4 ** i5}")
2. 赋值运算符
# 赋值运算符 = += -= *= /= %= **= //=
# = 左边是运算结果,右边是算数运算符
# 赋值运算符优先级最低
i = 10
print(i)
i = i + 1
print(i)
i = i - 1
print(i)
i = i * 2
print(i)
i = i / 2
print(i)
i += 1 # 相当于 i = i + 1
print(i)
i -= 1 # 相当于 i = i - 1
print(i)
i *= 2 # 相当于 i = i * 2
i /= 2 # 相当于 i = i / 2
i **= 2 # 相当于 i = i ** 2
i //= 2 # 相当于 i = i // 2
i %= 3 # 相当于 i = i % 3
3. 比较运算符
# 比较运算符有 > < == != >= <=
# 结果只有 True 或 False
print(10 > 3)
print(10 < 3)
print(10 == 3)
print(10 != 3)
print(10 >= 3)
print(10 <= 3)
# 可以连续使用比较运算符,但其中有假 结果只能是假
print(10 > 3 > 1)
print(10 > 1 > 3)
# 算数运算符优先级高于比较运算符
print(10 > 3 + 3)
print(10 > 3 + 8)
4. 逻辑运算符
# 逻辑运算符 and or not
# or 左右全为假,结果才为假
# 左侧为真,返回左侧 返回的是内容
# 左侧为假, 返回右侧
i1 = 10
i2 = 0
i3 = None
i4 = ""
i5 = False
i6 = True
i7 = "a1"
print(i2 or i1, i3 or i1, i4 or i1, i5 or i1, i1 or i6, i1 or i7)
# and 左右全为真, 结果才为真
# 左侧为假,返回左侧 返回的是内容
# 左侧为真, 返回右侧
print(i2 and i1, i3 and i1, i4 and i1, i5 and i1, i1 and i6, i1 and i7)
# not 逻辑 非 返回True False
# 非假为真, 非真为假
print(not 1, not 0)
# 优先级 and > or
print(1 or 0 and 10)
# 优先级 not > and > or
print(not 1 and 0)
5. 位运算符
# 位运算符 & | ^ << >> ~ 要换成二进制比较 返回十进制
# 9 = 0000 1001
# 15 = 0000 1111
# 3 = 0000 0011
# & : 相同位置都是1 ,结果才是1
print(9 & 15)
print(9 & 3)
# | 相同位置都是0, 结果才是0
print(9 | 15)
print(9 | 3)
# ^ : 相同位置 相同为0,不同为1
print(9 ^ 15)
print(9 ^ 3)
# << : 位置向左移动, 右侧补0
print(9 << 4)
print(9 << 2)
# >> : 位置向右移动, 左侧补0, 右侧减少相同位数
print(15 >> 3)
print(15 >> 2)
# ~ 不要求全会,认识就行:
print(~1)