1、算术运算符
一张图带你初识算术运算符
a = 1 + '2'
输出结果:
# `/`的运算
a = 9 / 3
print(a) # 3.0
浮点数的精度问题
res = 5.4 - 3
print(res) # 2.4000000000000004
from decimal import Decimal
res2 = Decimal('5.4') - Decimal('3') # 传入的是字符串,如果传入的是数字,计算得更加精确
print(res2) # 2.4
res2 = Decimal(5.4) - Decimal(3)
print(res2) # 2.400000000000000355271367880
总结:
- / =》浮点数
- // 或 %都是向下取整
- divmod(x,y) =>return (x//y,x%y) =>商与余数
- 浮点数的精度问题:from decimal import Decimal
2、比较运算符
一张图带你总结比较运算符
3、赋值运算符
赋值运算符的注意点:
- 从等号右边赋值给左边
- python不支持 a++ 、 a–
4、逻辑运算符
图中题目的运行结果图
5、位运算符
6、成员运算符
7、身份运算符
8、三目运算符
运算符的优先级:
练习题
题1
families = ["bob","tony","Lisa","Steven"]
if "amy" in families:
print('amy 在逻辑大家庭')
else:
print('amy 不在...好难过')
题2
‘ax’<’xa’ 为True , 因为字符串比较的ASCII,a的ASCII < x的ASCII,当第一个字符比较不相等后不会进行后面的字符比较,如果第一个字符比较相等,则会继续比较后面的字符。
题3
输入666执行的是 print('if执行了!'),因为or是逻辑运算符,只要两边有一个值为真,则if条件为True
题4
is比较的是地址;
==比较的是值,比如:
print(1==1.0) # True
print(1=='1') # False
题5
a = int(input("a的值为:"))
b = int(input("b的值为:"))
if a != 0 and b != 0:
print(a // b)
else:
print(a * b)
题6
a = int(input("a的值为:"))
b = int(input("b的值为:"))
print(a if a > b else b)