说明
《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
Python bool() 函数的作用是使用标准的真值测试过程将值转换为布尔值(True 或 False)。如果 bool(x) 中 x 为 False 或省略不值,则返回 False;否则,它将返回 True。bool 类是 int的一个子类(参见数值类型-int、float、complex ),它不能进一步细分。它唯一的实例是 False 和 True。
class bool([x])
向 bool()
传递值不是强制性的,可以不传值。如果不传递值, bool()
将返回 False。通常情况下,只接受一个参数值。
bool()
将返回:
在 3.7 版更改: x 现在只能作为位置参数。
在 Python 中,以下值被视为 假值:
__bool__()
返回 False 或是定义了 __len__()
方法且返回 0除这些值外的所有其他值均视为真。
test = []
print(test,'is',bool(test))
test = [0]
print(test,'is',bool(test))
test = 0.0
print(test,'is',bool(test))
test = None
print(test,'is',bool(test))
test = True
print(test,'is',bool(test))
test = 'Easy string'
print(test,'is',bool(test))
'''
[] is False
[0] is True
0.0 is False
None is False
True is True
Easy string is True
'''
我们可以通过自定义 __bool__()
返回布尔值 或是定义了 __len__()
方法返回 0 或 1 来定义对象的 bool 操作结果。下边就定义如果年龄大于等于 18 就是 True,代表是成年人:
class Student(object):
def __init__(self, name, age):
self.name = name
self.age = age
# 如果是成年为 True
def __bool__(self):
return self.age >= 18
me = Student('小明', 16)
bool(me)
# False
him = Student('大明', 18)
bool(him)
# True
# 用于逻辑判断
if Student('大明', 18):
print('成年人')
else:
print('未成年人')
# 成年人
更新时间:2021-11-17 09:28:43 标签:python 布尔值