如何将其他类型转换为布尔值

   2024-09-30 5450
核心提示:在Python中,可以使用bool()函数将其他数据类型转换为布尔值整数(int):非零整数将被转换为True,0将被转换为False。print(boo

在Python中,可以使用bool()函数将其他数据类型转换为布尔值

整数(int):非零整数将被转换为True,0将被转换为False。
print(bool(42))  # Trueprint(bool(0))   # False
浮点数(float):非零浮点数将被转换为True,0.0将被转换为False。
print(bool(3.14))  # Trueprint(bool(0.0))   # False
字符串(str):非空字符串将被转换为True,空字符串将被转换为False。
print(bool("hello"))  # Trueprint(bool(""))       # False
列表(list)、元组(tuple)和集合(set):非空列表、元组或集合将被转换为True,空的列表、元组或集合将被转换为False。
print(bool([1, 2, 3]))  # Trueprint(bool([]))         # Falseprint(bool((1, 2, 3)))  # Trueprint(bool(()))         # Falseprint(bool({1, 2, 3}))  # Trueprint(bool(set()))      # False
字典(dict):非空字典将被转换为True,空字典将被转换为False。
print(bool({"key": "value"}))  # Trueprint(bool({}))               # False
自定义对象:如果对象定义了__bool__()方法,则该方法的返回值将决定布尔值。如果未定义__bool__()方法但定义了__len__()方法,则根据__len__()方法的返回值是否为零来确定布尔值。如果两者都未定义,则所有实例将被视为True,除了None,它将被视为False。
class MyClass:    def __init__(self, value):        self.value = value    def __bool__(self):        return bool(self.value)obj1 = MyClass(42)obj2 = MyClass(0)print(bool(obj1))  # Trueprint(bool(obj2))  # False

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号