python 基础篇 day 4 选择结构—— if 结构

文章目录

  • [if 基础结构](#if 基础结构)
      • [单 if 语句](#单 if 语句)
      • [if-else 语句](#if-else 语句)
      • [if-elif-else 语句](#if-elif-else 语句)
      • [嵌套的 if 语句](#嵌套的 if 语句)
  • [if 进阶用法](#if 进阶用法)
  • 三目运算符

if 基础结构

单 if 语句

if 条件:

执行条件为真时的代码块

当条件为真时,执行相应的代码块。

if-else 语句

if 条件:

执行条件为真时的代码块

else:

执行条件为假时的代码块

当条件为真时,执行第一个代码块;当条件为假时,执行第二个代码块。

if-elif-else 语句

if 条件1:

执行条件1为真时的代码块

elif 条件2:

执行条件2为真时的代码块

elif 条件3:

执行条件3为真时的代码块

...

else:

执行以上条件都不满足时的代码块

当条件1为真时,执行第一个代码块;否则,继续检查条件2。如果条件2为真,则执行第二个代码块;以此类推。如果所有条件都不满足,则执行 else 代码块。

嵌套的 if 语句

python 复制代码
if 条件1:
    # 执行条件1为真时的代码块
    if 条件2:
        # 执行条件1和条件2同时满足时的代码块
    else:
        # 执行条件1为真而条件2不满足时的代码块
else:
    # 执行条件1不满足时的代码块

可以在一个 if 代码块内嵌套另一个 if 语句,用于处理更复杂的条件逻辑。

if 进阶用法

使用比较运算符

if a == b:

当 a 等于 b 时执行的代码块

if a != b:

当 a 不等于 b 时执行的代码块

if a > b:

当 a 大于 b 时执行的代码块

if a < b:

当 a 小于 b 时执行的代码块

if a >= b:

当 a 大于等于 b 时执行的代码块

if a <= b:

当 a 小于等于 b 时执行的代码块

比较运算符用于在条件语句中比较两个值的大小关系。

使用逻辑运算符

if 条件1 and 条件2:

当条件1和条件2同时满足时执行的代码块

if 条件1 or 条件2:

当条件1或条件2之一满足时执行的代码块

if not 条件:

当条件不满足时执行的代码块

逻辑运算符用于组合多个条件,进行复合条件判断。

使用 in 关键字

if 元素 in 可迭代对象:

当元素存在于可迭代对象中时执行的代码块

in 关键字用于检查一个元素是否存在于可迭代对象中,常常配合range使用

常见可迭代对象:列表(List),元组(Tuple),range 对象等

range() 是 Python 内置的一个函数,用于生成指定范围的整数序列。它常用于循环结构中,例如 for 循环,以便按照指定的起始值、终止值和步长来迭代生成整数。

range() 函数

range(start, stop, step)

参数说明:

start:可选,表示序列的起始值,默认为 0。

stop:必需,表示序列的终止值(不包含在序列中)。

step:可选,表示步长(默认为1)。步长可以是正整数、负整数或零。
range() 函数返回一个表示整数序列的可迭代对象,可以通过遍历该可迭代对象获取序列中的每个元素。

示例:

python 复制代码
 #  生成从 0 到 4 的整数序列
for num in range(5):
    print(num)  # 输出:0, 1, 2, 3, 4

#  生成从 2 到 9(不包含 9)的整数序列,步长为 3
for num in range(2, 9, 3):
    print(num)  # 输出:2, 5, 8

#  生成递减的整数序列,从 10 到 1(不包含 1)
for num in range(10, 1, -1):
    print(num)  # 输出:10, 9, 8, 7, 6, 5, 4, 3, 2

需要注意的是,range() 函数生成的序列不包含终止值。如果需要包含终止值,可以在循环中使用 stop + 1 或者转换为列表等其他数据结构。

使用 is 关键字

is 关键字用于检查两个对象是否引用同一个内存地址。

python 复制代码
if 对象 is None:
    # 当对象为 None 时执行的代码块

使用 pass 语句

python 复制代码
if 条件:
    pass

pass 语句什么也不做,通常用作占位符,表示后续需要添加代码。

三目运算符

Python 的三目运算符一种简洁的条件表达式,也称为条件运算符。

语法

如果满足条件时返回的值 if 条件 else 如果条件不满足时返回的值

其中,条件 是一个可以求值为布尔值的表达式。如果该条件为真,则返回 如果满足条件时返回的值;否则返回 如果条件不满足时返回的值。

例子

python 复制代码
x = 10
result = "正数" if x > 0 else "非正数"
print(result)  # 输出:正数

在上面的例子中,如果 x 大于 0,那么 "正数" 将被赋值给 result;否则,"非正数" 将被赋值给 result。

注意

使用三目运算符可以简化代码,特别适用于简单的条件判断场景。但要注意,过度使用可能导致代码难以理解。

补充

Python 中没有官方支持的四目运算符。三目运算符是 Python 中唯一的条件表达式。它可以在一个表达式中根据条件选择返回不同的值。

四目运算符不是 Python 内置的语法,但你可以使用其他方式来实现其功能。

一种常见的方法是使用嵌套的三目运算符来模拟四目运算符

举例
python 复制代码
x = 10
result = "正数" if x > 0 else ("零" if x == 0 else "负数")
print(result)  # 输出:正数

在上面的例子中,我们使用嵌套的三目运算符来实现一个四目运算符的效果。首先判断 x > 0,如果为真,则返回 "正数";否则继续判断 x ==

0,如果为真,则返回 "零";否则返回 "负数"。

注意

虽然这种方式可以实现类似于四目运算符的功能,但嵌套的三目运算符容易造成代码难以理解和调试。因此,在实际编程中,推荐使用更清晰和易于理解的方式来表达条件判断逻辑,如使用

if...elif...else 结构。

相关推荐
MoRanzhi12032 分钟前
第3篇 · 使用 PyQt5 实现 2048 桌面版游戏:MVC 架构与撤销和重做
python·mvc·pyqt5·桌面应用开发·gui开发·2048游戏·撤销与重做
蚰蜒螟6 分钟前
从 Java SocketChannel 到 TCP 挥手:一次 close() 的完整调用链与引用计数解析
java·python·tcp/ip
Smoothcloud润云17 分钟前
GPU算力平台跑知识库问答,模型回答总跑偏?先排查检索链路
人工智能·python·深度学习·gpu算力·gpu
mklpo14719 分钟前
python3:如何按照实际执行需求导入模块,而不是启动时统一导入?(Python3.15)。2026-10-20
开发语言·人工智能·python
夜晚回家1 小时前
Python 赋值运算符详解 | 从 = 到 +=,一张记账单讲清复合赋值
开发语言·python
Maya动画技术1 小时前
pptx批量转png图片工具
python
MoRanzhi12032 小时前
第4篇 · 使用 PyQt5 实现 2048:平滑动画与性能优化
python·性能优化·qtimer·pyqt5·qpainter·gui动画·2048游戏
海姐软件测试2 小时前
Python 自动化与 AI 结合:基于 Jenkins 的回归验证实践
人工智能·python·自动化
Haoyunyi2 小时前
2026年做期货量化,和三年前已经不是一回事了
大数据·人工智能·python·金融·区块链
再__努力1点3 小时前
一个开源的AI边缘计算平台:一个项目把算能、瑞芯微、x86的NPU全打通了
人工智能·python·课程设计·媒体·流媒体