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 结构。

相关推荐
带娃的IT创业者32 分钟前
《Python实战进阶》No39:模型部署——TensorFlow Serving 与 ONNX
pytorch·python·tensorflow·持续部署
Bruce-li__39 分钟前
深入理解Python asyncio:从入门到实战,掌握异步编程精髓
网络·数据库·python
九月镇灵将1 小时前
6.git项目实现变更拉取与上传
git·python·scrapy·scrapyd·gitpython·gerapy
小张学Python1 小时前
AI数字人Heygem:口播与唇形同步的福音,无需docker,无需配置环境,一键整合包来了
python·数字人·heygem
跳跳糖炒酸奶1 小时前
第四章、Isaacsim在GUI中构建机器人(2):组装一个简单的机器人
人工智能·python·算法·ubuntu·机器人
步木木2 小时前
Anaconda和Pycharm的区别,以及如何选择两者
ide·python·pycharm
星始流年2 小时前
解决PyInstaller打包PySide6+QML应用的资源文件问题
python·llm·pyspider
南玖yy2 小时前
Python网络爬虫:从入门到实践
爬虫·python
The Future is mine3 小时前
Python计算经纬度两点之间距离
开发语言·python
九月镇灵将3 小时前
GitPython库快速应用入门
git·python·gitpython