Python语言中,任何非零的数值、非空的数据类型,非空的字符串和空列表,都等价于True,(但除1以外都不等于True),0或空类型、""(空字符串)、[]空表都等价于False,可以直接用作判断条件,(但除0以外都不等于False)。
(等价于和等于是有区别的,这点需要你们细细领悟)
True可以看作1,False可以看作0。
True == 1 #输出True
False == 0 #输出True
"" == False #输出False
2 == True #输出False
[] == False #输出False
[2,3] == True #输出False
输出
以下是我做的实验,如果你们感兴趣可以复制过去试一试,勤劳的,或者想练练手的,可以自己打一遍。
'''
对象的布尔值
Python 一切皆对象,所有对象都有一个布尔值
获取对象布尔值
使用内置函数bool()
以下对象的布尔值为False
False
数值()
None
空字符串
空列表
空元组
空集合
'''
print(bool(False)) #False是False
print(bool(0)) #数值0是False
print(bool(0.0)) #是False
print(bool(None)) #是False
print(bool('')) #单引号空字符串是False
print(bool("")) #双引号空字符串是False
print(bool([])) #空列表是False
print(bool(list())) #空列表是False
print(bool(())) #空元组是False
print(bool(tuple()))#内置函数tuple可以得到一个空元组,也是False
print(bool({})) #空字典是False
print(bool(dict())) #内置函数dict()可以得到一个空字典,也是False
print(bool(set())) #内置函数set()可以得到一个字集合,也是False
print('---------------------------------------------------')
print(bool(1)) #除0以外的数字,都是True
print(bool(' ')) #有空格的单字符串,是True
print(bool(" ")) #有空格的双字符串,是True
print(bool(True)) #True是True
print(bool([1,2,3]))#不为空的列表是True
print(bool((1,2,3)))#不为空的元组是True
print(bool({'a':'1','b':'2','c':'3'}))#不为空的字典是True
print(bool({'a','b'}))#不为空的集合是True
这是结果
以上内容是本人的一个好奇进而进行的小练习,如有雷同纯属巧合。知识点是本人搜集的,练习为本人原创。(当然了,这种原创是不值钱的)
由于时间仓促、水平有限,文章中可能存在疏忽或错误之处,敬请大佬批评指正。