基本结构
score = 85
if score >= 90:
print("优秀")
elif score >= 60:
print("及格")
else:
print("不及格")
elif 可以有任意多个,else 只能有 0 或 1 个。
比较运算符
x == y # 等于(两个等号!)
x != y # 不等于
x < y # 小于
x <= y # 小于等于
x > y # 大于
x >= y # 大于等于
⚠️ 区分 = 和 ==:= 是赋值,== 是比较。
链式比较(Python 特色)
0 < x < 100 # 等价于 0 < x and x < 100
60 <= score < 80 # 区间判断更直观
逻辑运算符
and # 且:两个都真才真
or # 或:任一真就真
not # 非:取反
if age >= 18 and has_id:
print("可以买票")
if not is_holiday:
print("正常营业")
Python 的"假值"
下面这些在 if 里都被当成 False:
False, None, 0, 0.0, "", [], {}, set()
其他都是 True,所以可以简写:
name = ""
if name:
print("有名字")
else:
print("名字为空") # 走这里
nums = []
if not nums:
print("空列表") # 走这里
三元运算符(条件表达式)
status = "成年" if age >= 18 else "未成年"
x = a if a > b else b # 取较大值
写在赋值或返回时很简洁,别嵌套用——可读性会崩。
is vs ==
a = [1, 2, 3]
b = [1, 2, 3]
a == b # True 值相等
a is b # False 不是同一个对象(不同内存地址)
a is None # 判断是否为 None 用 is,不用 ==
下一篇讲循环 for。