1.算数运算符
num1 = 30 num2 = 4 print(f"{num1}+{num2}={num1+num2}") # 输出结果为30+4=34 print(f"{num1}-{num2}={num1-num2}") # 输出结果为30-4=26 print(f"{num1}*{num2}={num1*num2}") # 输出结果为30*4=120 print(f"{num1}/{num2}={num1/num2}") # 输出结果为30/4=7.5
(1)求余数,任意一个数n有n种情况0-(n-1),经常用于判定奇数偶数
print(f"{num1}%{num2}={num1%num2}") # 输出结果为30%4=2
(2)求次方,m**n 就是n个m相乘 m的n次方
print(f"{num1}**{num2}={num1**num2}") # 输出结果为30**4=30^4=810000
(3)求整除:结果为int类型 30//4 结果为7
print(f"{num1}//{num2}=v{num1//num2}") # 输出结果为30//4=7
注意:算数运算符中的优先级为: ** >= // > %*/ > +-
2.赋值运算符
注意:赋值运算符优先级低于算数运算符
value =102 value += 10 # 等于value = value + 10 print(value) # 输出结果为112 value -= 10 # 等于value = value - 10 print(value) # 输出结果为102 value *= 10 # 等于value = value * 10 print(value) # 输出结果为1020 value /= 10 # 等于value = value / 10 print(value) # 输出结果为102.0 value %= 10 # 等于value = value % 10 print(value) # 输出结果为2.0 value //= 10 # 等于value = value // 10 print(value) # 输出结果为0.0 value **= 10 # 等于value = value ** 10 print(value) # 输出结果为0.0
3.比较运算符
(1) 比较运算符结果永远为True或者False
print(5 > 3 > 4) # 输出结果为False print(5 > 3, 5 >= 5) # 输出结果为True True print(5 < 3, 5 <= 5) # 输出结果为False True print(5 != 3, 5 == 5 ) # 输出结果为True True
(2)如果类型不一样 结果为False
print(5 == "5") # 输出结果为False print(0 == False, 1 == True) #True True (两个都为True,对于布尔来说 True为1 False为0) print(100 == True) # 输出结果为False result= 5 > 3 + 2 print(result) # 输出结果为False print(5 > 3 > 0 > -1, 5 < 10 < 20 < 30) # 输出结果为True True print(5 > 3 > 4) # 输出结果为False
注意:
算术运算符 优先级 高于比较运算符
比较运算符 优先级 高于赋值运算符
4.逻辑运算符
注意:
逻辑运算符有None False 0 "" 四种情况
表示为: and (&&) or(||) not(!)
(1)and的用法
注意:
and的结果不是 True 和False 而是and左边或者右边
and的左侧为真 返回右侧 左侧为假 直接返回左侧
print(5 == "5") # 输出结果为False print(0 == False, 1 == True) #True True (两个都为True,对于布尔来说 True为1 False为0) print(100 == True) # 输出结果为False result= 5 > 3 + 2 print(result) # 输出结果为False print(5 > 3 > 0 > -1, 5 < 10 < 20 < 30) # 输出结果为True True print(5 > 3 > 4) # 输出结果为False
(2)or用法
注意:
or 的结果不是True 和False 而是左侧或者右侧
or 左侧为真 返回左侧 左侧为假 返回右侧
result = "helloworld" or False # 左侧为真 返回左侧 print(result) # 输出结果为helloworld result = 0 or 10 # 左侧为假 返回右侧 print(result) # 输出结果为10
(3)not用法
注意:
not的结果就是True或者False
result = not False # False相反为True print(result) # 输出结果为True
注意:优先级问题
and 优先级高于 or ,not优先级高于and
not>and>or
result = False or True and 0 #如果先由左到右计算结果为True,但是输出结果为0 print(result) # 输出结果为0,可得and优先级高于or result = True and not 0 print(result) # 输出结果为True result = 10 + 5 and 10 print(result) # 输出结果为10
5.位运算符
注意:
左侧补0对于数据大小无影响
a = 0b10101 b = 0b01111 # 按位与 全为1 则为1 有0 则为0 print(a & b) # 输出结果为5(00101) # 按位或 有1则为1 全为0 则为0 print(a | b) # 输出结果为31(11111) # 按位异或 不同则为1 相同为0 print(a ^ b) # 输出结果为26(11010)
最后,努力学习,争取日进斗金