Python 中 if 和 else 基础知识的详解和使用
一、基本语法结构
if 条件1:# 条件1 为真时执行的代码块
elif 条件2:# 条件1 不成立,条件2 成立时执行
else:# 所有条件都不成立时执行
注意:
elif
是“else if”的缩写,可以有多个;else
可省略;- 条件表达式必须是可以返回布尔值的语句(True 或 False);
- Python 使用 缩进 表示代码块,通常是 4个空格。
二、常见条件表达式
表达式 | 含义 |
---|---|
x == y | 等于 |
x != y | 不等于 |
x > y , x < y | 大于 / 小于 |
x >= y , x <= y | 大于等于 / 小于等于 |
a and b | a 和 b 同时为 True |
a or b | a 或 b 有一个为 True |
not a | a 为 False 时结果为 True |
x in y | x 是 y 的成员(字符串、列表等) |
三、示例代码
示例 1:基本判断
x = 10
if x > 0:print("x 是正数")
else:print("x 是非正数")
示例 2:多分支判断(if-elif-else
)
score = 85
if score >= 90:print("优秀")
elif score >= 75:print("良好")
elif score >= 60:print("及格")
else:print("不及格")
示例 3:嵌套 if
x = 5
if x > 0:if x % 2 == 0:print("x 是正偶数")else:print("x 是正奇数")
示例 4:简洁的单行写法(推荐用于非常简单的判断)
x = 10
print("x 是正数" if x > 0 else "x 是非正数")
四、注意事项
-
缩进必须正确
Python 使用缩进来标识代码块,错误的缩进会直接报错。✅ 正确:
if x > 0:print("OK")
❌ 错误(缩进不一致):
if x > 0: print("OK") # IndentationError
-
布尔表达式不加
== True
等冗余判断
❌ 多余:if is_valid == True:
推荐写法:
if is_valid:
-
空容器(如
[]
,{}
,''
)和数字0
被当作False
if not []:print("空列表也会进入这里")
-
is
与==
区别==
比较值是否相等;is
比较的是两个对象是否是同一个内存地址(标识符)。
五、实战小练习:判断年份是否为闰年
def is_leap(year):if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):return Trueelse:return Falseprint(is_leap(2024)) # 输出 True
六、可选扩展:match-case
(Python 3.10+)
从 Python 3.10 起,你还可以使用类似 switch
的结构:
def handle_command(cmd):match cmd:case "start":print("Starting...")case "stop":print("Stopping...")case _:print("Unknown command")handle_command("start")