关于 python 中的 if 判断,你知道多少?

if 的基础功能,我们就不多说了。这篇文章,我们会专注于 Pytho 中 if 的高级功能

一、关于 if xxx

1.1 if xxx 介绍

if xxx 是 Python 中的条件语句,用于判断变量 xxx 是否为真。如果 xxx 为真,则执行 if 语句块中的代码;否则,跳过 if 语句块,执行后面的代码。

在 Python 中,xxx 为以下值被视为假:

js 复制代码
`False`
`None`
`0`(包括 `0.0`)
空字符串 `''`(包括 `""`)
空列表 `[]`
空元组 `()`
空字典 `{}`

除了以上值之外的所有值都被视为真。

1.2 if xxx 示例

以下是一个使用 if a 的示例:

python 复制代码
a = 10
if a:
  print("a 是真值")
else:
  print("a 是假值")

输出

text 复制代码
a 是真值

在这个示例中,变量 a 的值为 10,因为 10 是一个非零数,所以 if a 的条件为真,执行 if 语句块中的代码,输出 a 是真值

二、关于 if xxx==xxx

2.1 if xxx==xxx 介绍

在 Python 中,== 运算符用于比较两个对象的值是否相等,如果两个字符串的值相等,则返回 True,否则返回 False。例如:

2.2 if xxx==xxx 例子

python 复制代码
str1 = "hello"
str2 = "world"
str3 = "hello"

if str1 == str2:
  print("str1 和 str2 相同")
else:
  print("str1 和 str2 不相同")

if str1 == str3:
   print("str1 和 str3 相同")
else:
   print("str1 和 str3 不相同")

输出

text 复制代码
str1 和 str2 不相同
str1 和 str3 相同

在这个示例中,str1 的值为 "hello"str2 的值为 "world"str3 的值为 "hello"。因为 str1str3 的值相等,所以输出 str1 和 str2 不相同和 str1 和 str3 相同

三、 关于 if xxx is xxx

3.1 关于 if xxx is xxx 介绍

在 Python 中, is 运算符用于比较两个对象是否是同一个对象,如果两个字符串是同一个对象,则返回 True,否则返回 False。例如:

3.2 关于 if xxx is xxx 例子

python 复制代码
str1 = "hello"
str2 = "world"
str3 = "hello"

if str1 is str2:
 print("str1 和 str2 是同一个对象")
else:
  print("str1 和 str2 不是同一个对象")

if str1 is str3:
   print("str1 和 str3 是同一个对象")
else:
  print("str1 和 str3 不是同一个对象")

输出

text 复制代码
str1 和 str2 不是同一个对象
str1 和 str3 是同一个对象

在这个示例中,str1 的值为 "hello"str2 的值为 "world"str3 的值为 "hello"。因为 str1str3 是同一个对象,所以输出 str1 和 str3 是同一个对象

3.3 扩展

text 复制代码
在 Python 中,字符串是不可变对象,也就是说,一旦创建了一个字符串对象,它的值就不能被修改。

因此,当你创建一个新的字符串时,Python 解释器会在内存中为它分配一块新的空间,然后将字符串的值存储在这个空间中。
在这个代码中,`str1` 和 `str3` 都是字符串常量,它们的值都是 `"hello"`。

当 Python 解释器执行这个代码时,它会先创建一个字符串对象,然后将这个对象的引用赋值给 `str1`。
接着,它会发现 `str3` 的值也是 `"hello"`,因此不需要再创建一个新的字符串对象,而是将 `str3` 的引用指向已经存在的那个字符串对象。

因此,`str1` 和 `str3` 引用的是同一个字符串对象,它们在内存中的地址是相同的。

四、总结

至此 Python if 的进阶功能就介绍完了,相信后续 Python if 的问题,肯定就难不倒大家

相关推荐
大辉狼_音频架构1 分钟前
FRDM-IMX8MP UUU 烧录 eMMC 指南
后端
伞伞悦读1 小时前
【第14期】Python 基础语法入门:缩进、注释、标识符、代码块和解释器执行
python
Java后端的Ai之路1 小时前
03、Python - 抽象工厂模式
开发语言·python·设计模式·抽象工厂模式·通用智慧
GGG7661 小时前
Python 运维自动化:psutil+IPy 系统与网络信息采集深度实战
运维·python·云原生·pip
运行时异常1 小时前
【WMS 仓储系统集成 AI Agent 实战】第 3 讲:Spring Security 6 + JWT——addFilterBefore 一词之差,全站 401
java·后端
可乐鸡翅yeah_1 小时前
个人 / 外包流媒体项目交付实战,M3U8 验收与问题闭环完整工作流
运维·网络·python·低代码·django·m3u8·在线播放
LinMINGJing0071 小时前
PageHeaderData:Page 的页面头
后端
2601_962069771 小时前
SpringBoot开发——初步了解SpringBoot
java·spring boot·后端
jay神1 小时前
【计算机毕业设计】基于Spring Boot的宠物领养管理系统
java·spring boot·后端·vue·毕业设计·宠物
2601_962056602 小时前
可造成敏感信息泄露!Spring Boot之Actuator信息泄露漏洞三种利用方式总结
java·spring boot·后端