详解Python中的True、False和None

本文详细解析了Python中布尔类型(bool)的本质,包括True、False的实现原理,以及它们与整数类型的关系。同时,介绍了如何在代码中利用布尔类型进行条件判断,以及None对象的特性和使用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

你真的了解Python中的布尔类型吗?

布尔类型(bool)

在介绍 True 和 False 之前先介绍下Python中的布尔类型。

布尔类型本质上是数值类型。它只包含两个值>> True 和 False, 也就是整数0和1的定制机版,只是打印到控制台时有所不同。

以上是大多数人都知道的。今天我们深入地说说这个名为 bool 的显式布尔数据类型,带有True 和 False作为可用且预值的内置名称。

在内部,名称True和False是bool的实例,然而bool实际上是内置整数类型int 的子类而已。

所以布尔表达式在交互命令行模式的输出就作为关键字 True和 False显示的,而并非1和0.布尔型让真值在代码中更明显。

eg:`# 无限循环

while True: # 而不是while 1:

True 和 False

首先总结下python中True 和 False 的范围:

python中整数0代表假,整数1代表真。
python也把其他任何空数据结构视为假,任何非空数据结构视为真。
真和假是每个对象固有属性,每个对象非真即假。

1.整数类型:数字如果等于零则为假,反之为真

>>> bool(1); bool(-10); bool(0)
True
True
False

ps:True 预先赋值1,False预先赋值0

>>> True + 4; False + 4
5
4

但是True并不是1,False并不是0,只是值相同

>>> True == 1; False == 0
True
True
>>> True is 1; False is 0
False
False

2.其他对象,如果为空则为假,反之为真

>>> bool('')
False
>>> bool(['a','b'])
True
>>> bool({})
False
>>> bool(())
False

在实际运用中空数据结构当作假是很实用的。
eg:

if string != '':
#string 是一个字符串,这样一个if语句可以判断字符串是否为空

None对象

python中除了True 和 False以外,还有一个特殊对象,None.
None是一种特殊的占位符对象,并且被认为是假

>>> bool(None)
False

它是python中的一种特殊数值类型的唯一值,一般起到一个空占位符的作用(类似于C语言中的NULL指针)

eg:如果分配一个含100项的列表,可以在100个偏移量的每一个上赋值None对象。

>>> [None]*100
[None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None]

这并不是限制了列表大小,之后仍然可以增长或缩短,只是预设了一个初始大小,从而允许之后的索引赋值。(当不知道列表内容时用None)

None不代表未定义

None是一个真正的对象,并且有真实的内存,例如函数中return 默认返回值是None,而不是不返回值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

企鹅君-Jared

有钱的捧个钱场,没钱的点的赞

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值