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

相关推荐
十六点五30 分钟前
Java NIO的底层原理
java·开发语言·python
跟橙姐学代码38 分钟前
不要再用 print() 了!Python logging 库才是调试的终极武器
前端·python
小叶lr1 小时前
python 从pycharm部署到新环境
开发语言·python·pycharm
2301_763471032 小时前
Python单元测试(unittest)实战指南
python
xiaoxiongip6662 小时前
动态ip适合挂什么项目
网络·爬虫·python·网络协议·tcp/ip·ip
Q_Q5110082852 小时前
springboot+python+uniapp基于微信小程序的旅游服务系统景点信息展示 路线推荐 在线预约 评论互动系统
spring boot·python·微信小程序·django·flask·uni-app
E___V___E2 小时前
设计模式--装饰器模式
python·设计模式·装饰器模式
Dan.Qiao3 小时前
pycharm如何处理python项目间引用
ide·python·pycharm
万粉变现经纪人3 小时前
如何解决pip安装报错ModuleNotFoundError: No module named ‘sympy’问题
python·beautifulsoup·pandas·scikit-learn·pyqt·pip·scipy
xiaohouzi1122333 小时前
Python读取视频-硬解和软解
python·opencv·ffmpeg·视频编解码·gstreamer