首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
真值判断方式
真值判断的字节码
真值判断的源码实现
验证真值判断的过程
数字类型如何作真值判断
判断语句(if)
for循环
while语句
break、continue、pass
迭代器、生成器
列表表达式
集合表达式
字典表达式
当前位置:
首页>>
技术小册>>
Python合辑9-判断和循环
小册名称:Python合辑9-判断和循环
通常而言,当一个值本身是布尔类型时,写成"if xxx"(如果真),在语义上就很好理解。如果 xxx 本身不是布尔类型时,写成“if xxx”(如果某东西),则在语义上并不好理解。 在 C/C++/Java 之类的静态语言中,通常要先基于 xxx 作一个比较操作,比如“if (xxx == null)”,以此得到一个布尔类型的值的结果,然后再进行真值判断。否则的话,若“if xxx”中有非布尔类型的值,则会报类型错误。 Python 这门动态语言在这种场景中表现出了一种灵活性,那么问题来了:为什么 Python 不需要先做一次比较操作,直接就能对任意对象作真值判断呢? 简单而言,Python 的任何对象都可以用在 if 或 while 或布尔操作(and、or、not)中,默认情况下认为它是 true,除非它有__bool__() 方法返回False 或者有__len__() 方法返回0 。 对于前面的例子,my_list 没有__bool__() 方法,但是它有__len__() 方法,所以它是否为 true,取决于这个方法的返回值。
下一篇:
真值判断的字节码
该分类下的相关小册推荐:
Python与办公-玩转PDF
Python合辑2-字符串常用方法
Python合辑13-面向对象编程案例(上)
Python合辑1-Python语言基础
Python合辑6-字典专题
Python与办公-玩转Excel
Python面试指南
Python高性能编程与实战
Python合辑7-集合、列表与元组
Python编程轻松进阶(五)
Python数据分析与挖掘实战(下)
Python合辑14-面向对象编程案例(下)