Python
基础语法
01概念
02安装
03变量
04字符串
05数
06常量与注释
07列表
08元组
09if语句
10字典
11集合
12复合数据类型对比
13推导式
14用户输入
15while循环
16函数
17类
18面向对象编程
19文件操作
20异常处理
21日期和时间
22魔术方法
23内置函数
24线程
25并发&并行
26正则表达式
27迭代器
28装饰器
29生成器
30上下文管理器
31函数式编程
32闭包
33解包
34工具库
35连接关系型数据库
36虚拟环境
37异步编程
网络爬虫
01urllib库[了解]
02requests库
03数据交换格式
04解析库
05lxml
06Beautiful Soup
07Xpath语法
08动态网页的处理
-
+
首页
09if语句
## 概念 在 Python 中,**if 语句**是最基础的**条件判断结构**,核心作用是:**根据 “条件是否成立”,决定是否执行某段代码**。简单来说,它模拟了生活中的 “如果…… 就……” 逻辑(比如 “如果今天下雨,就带伞”),是控制代码执行流程的核心工具。 if 语句的本质是 “判断”:先计算一个 “条件表达式” 的结果(结果只能是True(成立)或False(不成立)),再根据结果决定执行哪段代码。 - 若条件为True:执行 if 对应的代码块; - 若条件为False:跳过 if 对应的代码块(可选择执行 else 代码块)。 ## 三种基本结构 ### 单条件判断 仅有if,**适用场景**:只需判断 “一个条件”,条件成立则执行代码,不成立则跳过。 语法格式: ```python if 条件表达式: # 条件成立时执行的代码块(必须缩进,通常用4个空格) 代码1 代码2 # 条件不成立时,跳过缩进的代码块,执行这里的代码 后续代码 ``` **关键说明** - 条件表达式:必须返回True或False(布尔值),常见形式是 “比较运算” 或 “逻辑运算”(如age >= 18、score > 60)。 - 缩进:Python 通过 “缩进” 区分代码块(不同于其他语言用{}),缩进的代码属于 if 的 “管辖范围”,不缩进的代码与 if 无关。 例如:判断是否成年。 ```python age = 20 # 条件:年龄大于等于18 if age >= 18: print("你已成年,可以独立办理业务") # 条件成立,执行此代码 print("判断结束") # 无论条件是否成立,都会执行(未缩进,不属于if代码块) # 输出结果: # 你已成年,可以独立办理业务 # 判断结束 ``` 若age = 16(条件不成立),则输出: ```python 判断结束 ``` ### 二选一判断 if-else语句,**适用场景**:判断 “一个条件”,条件成立执行 A 代码,不成立执行 B 代码(非此即彼)。 语法格式: ```python if 条件表达式: # 条件成立时执行的代码块 代码块A else: # 条件不成立时执行的代码块(else无需写条件) 代码块B # 无论条件是否成立,都会执行这里的后续代码 ``` 例如:判断成绩是否及格。 ```python score = 75 # 条件:成绩大于等于60 if score >= 60: print("成绩及格,继续加油!") # 条件成立(75>=60),执行此代码 else: print("成绩不及格,需要补考!") # 条件不成立时才执行 print("成绩查询完成") # 输出结果: # 成绩及格,继续加油! # 成绩查询完成 ``` 若score = 55,则输出: ```python 成绩不及格,需要补考! 成绩查询完成 ``` ### 多条件判断 if-elif-else语句,**适用场景**:需要判断 “多个互斥条件”,按顺序检查条件,满足条件后执行对应代码,后续条件不再判断(类似 “多选一”)。 语法格式: ```python if 条件1: # 条件1成立时执行 代码块1 elif 条件2: # 条件1不成立,但条件2成立时执行 代码块2 elif 条件3: # 条件1、2不成立,但条件3成立时执行 代码块3 ...(可多个elif) else: # 所有条件都不成立时执行(可选,可省略) 代码块N ``` 关键说明 - 条件顺序:必须将 “更具体、范围更小” 的条件放前面,否则会逻辑错误(后面的条件永远无法触发)。 - 执行逻辑:只要有一个条件成立,执行对应代码块后,**立即跳出整个 if 结构**,其他条件不再检查。 例如:成绩分级(多条件判断)。 ```python score = 85 # 按“从高到低”顺序判断(必须先判断高分段,否则逻辑错误) if score >= 90: print("成绩优秀(A)") elif score >= 80: # 仅当score <90时才会检查此条件 print("成绩良好(B)") elif score >= 60: # 仅当score <80时才会检查此条件 print("成绩及格(C)") else: # 所有条件都不成立(score <60) print("成绩不及格(D)") # 输出结果:成绩良好(B) ``` 值得注意的是:python并不要求if-elif结构后面必须有else代码块,在一些情况下,else代码块很有用;而在其他情况下,使用一条elif语句来处理特定的场景更清晰。 ## 条件表达式的编写 if 语句的 “条件表达式” 必须返回True或False,常见编写方式有两种:**比较运算**和**逻辑运算**。 ### 比较运算(单条件) 用 “比较运算符” 判断两个值的关系,返回布尔值。常见比较运算符: | 运算符 | 含义 | 示例 | 结果 | | ------ | ---------------------- | ------ | ----- | | == | 等于(判断值是否相等) | 5 == 5 | True | | != | 不等于 | 5 != 3 | True | | > | 大于 | 5 > 3 | True | | < | 小于 | 5 < 10 | True | | >= | 大于等于 | 5 >= 5 | True | | <= | 小于等于 | 5 <= 3 | False | **注意**:==(等于判断)和=(赋值)是完全不同的操作,若在条件中写if a = 5,会报语法错误! 例如:判断是否是偶数。 ```python num = 4 if num % 2 == 0: # %是取余数,余数为0表示偶数 print(f"{num}是偶数") # 输出:4是偶数 ``` ### 逻辑运算(多条件组合) 用 “逻辑运算符” 组合多个比较条件,最终返回布尔值。常见逻辑运算符: | 运算符 | 含义 | 规则(A 和 B 是条件) | 示例 | 结果 | | ------ | ------------------ | ------------------------------------ | ------------ | ---- | | and | 与(同时成立) | A 和 B 都为 True,结果才是 True | 5>3 and 5<10 | True | | or | 或(至少一个成立) | A 或 B 有一个为 True,结果就是 True | 5>10 or 5<10 | True | | not | 非(取反) | 条件为 True 时结果为 False,反之亦然 | not (5>10) | True | 例如:判断成绩是否在 “80~90” 之间(含 80,不含 90)。 ```python score = 85 # 条件1:score >=80;条件2:score <90;必须同时成立 if score >= 80 and score < 90: print("成绩在80~90之间") # 输出:成绩在80~90之间 ``` 例如:判断是否是 “周末”(周六或周日)。 ```python weekday = "周六" # 条件1:是周六;条件2:是周日;满足一个即可 if weekday == "周六" or weekday == "周日": print("今天是周末,可休息") # 输出:今天是周末,可休息 ``` ### 其他返回布尔值的情况 条件表达式也可以是 “直接返回布尔值的表达式”,比如: - 布尔变量:if is_adult(等价于if is_adult == True); - 函数返回值:if len(name) > 0(len(name)返回字符串长度,再判断是否大于 0); - 空值判断:if not list1(判断列表是否为空,空列表等价于False)。 例如:判断列表是否为空。 ```python fruits = [] if not fruits: # 空列表的布尔值是False,not False → True print("水果列表为空,需要添加水果") # 输出:水果列表为空,需要添加水果 ``` ## if 语句的嵌套 当需要 “多层条件判断” 时,可以在一个 if 代码块中嵌套另一个 if 语句(称为 “嵌套 if”),模拟生活中的 “如果…… 且…… 就……” 逻辑。 语法格式: ```python if 外层条件: # 外层条件成立,才会检查内层条件 if 内层条件: 内层条件成立时执行的代码 else: 内层条件不成立时执行的代码 else: 外层条件不成立时执行的代码 ``` 例如:判断是否能开车(先判断成年,再判断有驾照)。 ```python age = 20 has_license = True # 外层条件:是否成年 if age >= 18: print("你已成年,满足开车的年龄要求") # 内层条件:是否有驾照(仅成年后才需要判断) if has_license: print("你有驾照,可以开车") else: print("你没有驾照,不能开车") else: print("你未成年,禁止开车") # 输出结果: # 你已成年,满足开车的年龄要求 # 你有驾照,可以开车 ``` 若has_license = False,则内层 else 执行,输出: ```python 你已成年,满足开车的年龄要求 你没有驾照,不能开车 ``` ## 确定列表非空 ```python >>> numbers = [] ... if numbers: ... print("YES") ... else: ... print("NO") ... NO ``` 注意:对于数值0、空值None、单引号空字符串''、双引号空字符串""、空列表[]、空元组()、空字典{},Python都会返回False。 ## 总结 核心要点: 1. **语法结构**:支持单条件(if)、二选一(if-else)、多条件(if-elif-else),依赖缩进区分代码块; 2. **条件表达式**:必须返回True/False,常用比较运算符(==、>、< 等)和逻辑运算符(and、or、not)组合; 3. **执行逻辑**:多条件判断时,满足一个条件就跳出;嵌套 if 需注意层级关系;
毛林
2025年9月7日 11:45
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码