当前位置: 首页 > news >正文

Python 条件语句详解

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

1. if 语句

最基本的条件语句形式:

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

示例:

age = 18
if age >= 18:print("你已经成年了")

2. if-else 语句

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

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

示例:

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

3. if-elif-else 语句

处理多种可能的情况:

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

示例:

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

4. 嵌套条件语句

条件语句可以嵌套使用:

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

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

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

结果 = 真值 if 条件 else 假值

示例:

age = 20
status = "成年" if age >= 18 else "未成年"
print(status)  # 输出:成年

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

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

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

示例:

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

7. 条件中的真值测试

Python 中以下值被视为 False

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

其他值都被视为 True

示例:

name = ""
if not name:print("姓名为空")

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

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

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

注意事项

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

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

http://www.xdnf.cn/news/510859.html

相关文章:

  • SAP集团内部公司间交易自动开票
  • Python高级特性深度解析:从熟练到精通的跃迁之路
  • JAVA学习-练习试用Java实现“音频文件的读取与写入 :使用Java音频库处理音频数据”
  • 《从零开始:Spring Cloud Eureka 配置与服务注册全流程》​
  • 主成分分析的应用之sklearn.decomposition模块的PCA函数
  • 初学c语言15(字符和字符串函数)
  • (5)python爬虫--BeautifulSoup(bs4)
  • 01 CentOS根分区满了扩容
  • 2025年- H30-Lc138- 141.环形链表(快慢指针,快2慢1)---java版
  • 学习是有方法的——费曼学习法
  • 先说爱的人为什么先离开
  • 轻量级视频剪辑方案:FFmpeg图形化工具体验
  • Linux的MySQL头文件和找不到头文件问题解决
  • Java API学习笔记
  • Spring AI Alibaba集成阿里云百炼大模型应用
  • SmartETL函数式组件的设计与应用
  • 【大模型面试每日一题】Day 22:若训练中发现Loss突然剧烈波动(Spike),可能有哪些原因?如何定位和修复?
  • nginx模块使用、过滤器模块以及handler模块
  • 自适应Prompt技术:让LLM精准理解用户意图的进阶策略
  • JMeter 教程:使用 HTTP 请求的参数列表发送 POST 请求(form 表单格式)
  • 贝塞尔曲线原理
  • Android studio Could not move temporary workspace
  • 使用AI 生成PPT 最佳实践方案对比
  • ChatGPT:OpenAI Codex—一款基于云的软件工程 AI 代理,赋能 ChatGPT,革新软件开发模式
  • window自带截图快捷键
  • C++学习:六个月从基础到就业——C++20:范围(Ranges)基础
  • 【OpenCV基础 1】几何变换、形态学处理、阈值分割、区域提取和脱敏处理
  • MLLM常见概念通俗解析(一)
  • 【基于Spring Boot 的图书购买系统】深度讲解 用户注册的前后端交互,Mapper操作MySQL数据库进行用户持久化
  • 如何利用内网穿透实现Cursor对私有化部署大模型的跨网络访问实践