详解Python中的True、False和None

你真的了解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,而不是不返回值。

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页