Python中的条件语句怎么使用?

75 阅读3分钟

Python 中的条件语句用于根据不同的条件执行不同的代码块,核心是 ifelif(else if 的缩写)和 else,语法简洁且依赖缩进(通常是 4 个空格)来区分代码块,而非大括号 {}

一、基本语法结构

if 条件1:
    # 条件1为 True 时执行的代码(注意缩进)
    代码块1
elif 条件2:
    # 条件1为 False,且条件2为 True 时执行的代码
    代码块2
else:
    # 所有条件都为 False 时执行的代码
    代码块3
  • 执行逻辑:从上到下判断条件,一旦某个条件为 True,执行对应的代码块后,整个条件语句结束;若所有条件都为 False,则执行 else 代码块(else 可选)。

二、具体使用场景

1. 单条件判断(仅 if

当只需判断一个条件,满足时执行代码,不满足则跳过:

age = 18
if age >= 18:
    print("已成年,可独立购票")  # 条件成立,执行此句

2. 二选一判断(if-else

满足条件执行 A,不满足执行 B:

score = 55
if score >= 60:
    print("考试及格")
else:
    print("考试不及格,需要补考")  # 条件不成立,执行此句

3. 多条件判断(if-elif-else

有多个条件需要依次判断,适合分档场景(如成绩评级):

score = 85
if score >= 90:
    print("优秀")
elif score >= 80:
    print("良好")  # 85 >=80 成立,执行此句
elif score >= 60:
    print("及格")
else:
    print("不及格")

4. 嵌套条件语句

条件内部再包含条件判断(注意缩进层级):

num = 15
if num > 10:
    print("数字大于10")
    if num % 2 == 0:
        print("且是偶数")
    else:
        print("且是奇数")  # 15>10且是奇数,执行此句
else:
    print("数字小于等于10")

三、条件表达式(三元运算符)

简洁版的 if-else,适合简单的二选一赋值场景:

# 语法:结果1 if 条件 else 结果2
result = "及格" if score >= 60 else "不及格"

# 等价于:
if score >= 60:
    result = "及格"
else:
    result = "不及格"

示例:

a, b = 5, 10
max_num = a if a > b else b
print(max_num)  # 输出:10

四、条件判断中的常见运算符

条件语句的“条件”本质是一个返回 TrueFalse 的表达式,常用运算符:

类型运算符示例(结果为 bool)
比较运算符==(等于)、!=(不等)3 == 5 → False"a" != "b" → True
><>=<=10 > 5 → True7 <= 3 → False
逻辑运算符and(与,全为真才真)(5>3) and (2>1) → True
or(或,有一个真就真)(5>8) or (2>1) → True
not(非,取反)not (5>3) → False

示例:

# 逻辑运算符组合条件
age = 20
has_id = True
if age >= 18 and has_id:
    print("可进入网吧")  # 两个条件都满足,执行此句

五、注意事项

  1. 缩进规则ifelifelse 后的代码块必须缩进(通常 4 个空格),同一代码块缩进量需一致,否则会报错。

  2. 冒号结尾ifelifelse 语句必须以冒号 : 结尾,标志着代码块的开始。

  3. 非布尔值的条件判断:Python 中,除了 False,以下值也会被视为“假”(False):

    • 数字 00.0
    • 空字符串 ""、空列表 []、空字典 {}、空元组 ()None 其他值均视为“真”(True)。

    示例:

    s = ""
    if s:  # 空字符串视为False,不执行
        print("字符串非空")
    else:
        print("字符串为空")  # 执行此句
    

总结

条件语句是控制程序流程的核心工具,通过 if-elif-else 可实现多分支逻辑,嵌套使用能处理复杂场景,而三元运算符则适合简化简单的二选一赋值。多练习成绩判断、权限验证等场景,能快速掌握其用法。