首页 python基础教程 Python面向对象-__bool__()方法实现上下文环境布尔值判断
pay pay

Python面向对象-__bool__()方法实现上下文环境布尔值判断

日期: 2021年12月4日 06:42
栏目: python基础教程
阅读: 94
作者: python自学网

摘要: 在布尔值判断这一方面我们可以通过__bool__()方法实现上下文环境布尔值判断,完善__bool__()方法之后,实例化的对象就可以当做一个布尔值来使用了。

在布尔值判断这一方面我们可以通过__bool__()方法实现上下文环境布尔值判断,完善__bool__()方法之后,实例化的对象就可以当做一个布尔值来使用了。下面来演示一下。

class Cat:
    def __bool__(self):
        return True
        # return False

c = Cat()
print(c)
if c:
    print('123')

返回结果:

<__main__.Cat object at 0x0000000001DBA460>
123

从返回结果可以看出来,虽然我们直接输出对象名,返回的结果还是一个对象,但是通过判断语句我们直接可以把对象当做布尔值用。

再用个小案例来诠释一下。

# 判定一个对象成年
class Person:
    def __init__(self, age):
        self.age = age

    def __bool__(self):
        return self.age >= 18

p = Person(15)
if p:
    print('123')
else:
    print('abc')

 

目录
回顶部