Python 条件语句详解

条件语句是编程中用于控制程序流程的基本结构,Python 提供了几种条件语句来实现不同的逻辑判断。

1. if 语句

最基本的条件语句形式:

python 复制代码
if 条件:
    # 条件为真时执行的代码块

示例:

python 复制代码
age = 18
if age >= 18:
    print("你已经成年了")

2. if-else 语句

当需要处理两种可能的情况时:

python 复制代码
if 条件:
    # 条件为真时执行的代码块
else:
    # 条件为假时执行的代码块

示例:

python 复制代码
age = 16
if age >= 18:
    print("你已经成年了")
else:
    print("你还是未成年人")

3. if-elif-else 语句

处理多种可能的情况:

python 复制代码
if 条件1:
    # 条件1为真时执行的代码块
elif 条件2:
    # 条件2为真时执行的代码块
else:
    # 以上条件都不满足时执行的代码块

示例:

python 复制代码
score = 85
if score >= 90:
    print("优秀")
elif score >= 80:
    print("良好")
elif score >= 60:
    print("及格")
else:
    print("不及格")

4. 嵌套条件语句

条件语句可以嵌套使用:

python 复制代码
age = 20
has_id = True

if age >= 18:
    if has_id:
        print("可以进入酒吧")
    else:
        print("需要出示身份证")
else:
    print("未成年人不得入内")

5. 简写条件表达式(三元运算符)

Python 提供了简洁的一行条件表达式:

python 复制代码
结果 = 真值 if 条件 else 假值

示例:

python 复制代码
age = 20
status = "成年" if age >= 18 else "未成年"
print(status)  # 输出:成年

6. 条件表达式中的逻辑运算符

可以在条件中使用逻辑运算符组合多个条件:

  • and:与(两个条件都为真)
  • or:或(任意一个条件为真)
  • not:非(取反)

示例:

python 复制代码
username = "admin"
password = "123456"

if username == "admin" and password == "123456":
    print("登录成功")
else:
    print("用户名或密码错误")

7. 条件中的真值测试

Python 中以下值被视为 False

  • None
  • False
  • 数值零(0, 0.0)
  • 空序列("", \[\], ())
  • 空字典({})
  • 自定义对象的 __len__() 返回 0

其他值都被视为 True

示例:

python 复制代码
name = ""
if not name:
    print("姓名为空")

8. match-case 语句(Python 3.10+)

Python 3.10 引入了类似 switch-case 的结构:

python 复制代码
status = 404

match status:
    case 200:
        print("成功")
    case 404:
        print("未找到")
    case 500:
        print("服务器错误")
    case _:
        print("未知状态码")

注意事项

  1. 冒号 : 不能省略
  2. 代码块通过缩进表示(通常4个空格)
  3. 避免过度嵌套条件语句,可以考虑使用函数重构
  4. 复杂的条件可以提取为变量或函数提高可读性

希望这个详细的解释能帮助你理解 Python 中的条件语句!

相关推荐
油丶酸萝卜别吃5 小时前
utils.js 说明文档
开发语言·javascript·ecmascript
leisoo80977 小时前
100GBA股股票数据怎么存ClickHouseRedisMySQLJSON完整对比
大数据·linux·服务器·开发语言·python
WangYan20228 小时前
基于XGBoost与AI的生态—地学多源数据建模:植被与土地利用识别、土壤碳氮空间预测、生物多样性驱动机制、土壤微生物功能预测、生态退化与风险识别
python·机器学习·xgboost
不会代码的小猴8 小时前
21. 泛型编程上
开发语言·c++·笔记·算法
一只旭宝9 小时前
细讲C加加【9】C++ std::function与std::bind详解|仿函数、绑定器、类成员绑定、占位符、成员偏移指针
开发语言·c++·算法
金銀銅鐵10 小时前
[Python] 借助 turtle 逐字展示唐诗《金缕衣》
python
coder!mq11 小时前
说几个常见的语法糖?
java·开发语言·算法
gugucoding11 小时前
38. 【Java】Stream API(下):高级操作与性能
java·开发语言
Lhan.zzZ11 小时前
在 Visual Studio 2022 中打造可扩展的动态链接库模块:从零搭建到原理解析
开发语言·c++·visual studio
心平气和量大福大12 小时前
android-实例-蒲公英-更新与安装-5-签名与生成APK
android·java·开发语言