详解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,而不是不返回值。

Python,open()函数用于打开文件并返回一个文件对象,可以用来读取或写入文件。open()函数的基本语法为: ```python open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) ``` 其,file参数表示要打开的文件名,可以是一个字符串类型的文件路径或文件描述符;mode参数表示打开文件的模式,有读取('r')、写入('w')、追加('a')等模式;buffering参数表示缓冲区大小,-1表示使用默认缓冲区大小;encoding参数表示文件编码方式,如果不指定则使用系统默认编码方式;errors参数表示编码错误处理方式;newline参数表示换行符设置,如果不指定则使用系统默认换行符;closefd参数表示是否关闭文件描述符,如果为True,则在文件关闭时同时关闭文件描述符;opener参数表示自定义打开方式。 常见的打开文件模式有: - 'r':只读模式,文件必须存在,否则抛出异常。 - 'w':只写模式,文件不存在时会被创建,若文件已存在则覆盖原内容。 - 'a':追加模式,文件不存在时会被创建,若文件已存在则在文件末尾添加新内容。 例如,打开一个名为“test.txt”的文件并读取其的内容,可以使用以下代码: ```python with open('test.txt', 'r') as f: content = f.read() print(content) ``` 其,使用了with语句来自动关闭文件,将文件内容读取到content变量并输出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Franda914

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

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

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

打赏作者

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

抵扣说明:

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

余额充值