润木 发表于 2020-6-8 22:41:34

关于布尔值的问题

为什么这几个测试下来都是False啊?迷糊了

Twilight6 发表于 2020-6-8 22:56:51

本帖最后由 Twilight6 于 2020-6-8 22:58 编辑

因为 False 是等于 0 True 等于 1你可以试着这样写:

False+True+True+False

结果:>>> 2

还有这样:type(False+False+True)

结果:>>> int

而 空字符串,空列表,空字典等都是可以看作 bool 类型值的 False而不是 空字典、空列表、空字符串就直接等于False

如果等于False 那么你就可以说一个空字符串 等于 0?可是字符串类型是字符串,整型是整型,怎么能相等呢?是吧,就是这个道理

润木 发表于 2020-6-8 23:12:29

Twilight6 发表于 2020-6-8 22:56
因为 False 是等于 0 True 等于 1你可以试着这样写:




好吧,我就先这样理解吧,谢谢啦

巨巨肌肉丸 发表于 2020-6-8 23:32:14

>>> type (True)
<class 'bool'>
>>> type (False)
<class 'bool'>
>>> type (None)
<class 'NoneType'>
>>> type ('')
<class 'str'>
>>> type ([])
<class 'list'>
>>> type(2)
<class 'int'>

不同型态的值不会相等

Twilight6 发表于 2020-6-8 23:47:54

润木 发表于 2020-6-8 23:12
好吧,我就先这样理解吧,谢谢啦

True == 1
>>> True
True == 10
>>> False
False == 0
>>> True

Twilight6 发表于 2020-6-8 23:48:47

润木 发表于 2020-6-8 23:12
好吧,我就先这样理解吧,谢谢啦

如果帮助到你就给个最佳吧~
页: [1]
查看完整版本: 关于布尔值的问题