Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗pyOpMgBl 93 of 174 menu
◀ ▶

Метод __bool__ в ООП в Python

Объект можно использовать в условиях if и while. Python считает объект ложным, если срабатывает специальный метод __bool__ и он возвращает False.

Пусть у нас есть класс User с возрастом:

class User: def __init__(self, name, age): self.name = name self.age = age

Сделаем так, чтобы объект был истинным, только если возраст больше нуля. Реализуем метод __bool__:

class User: def __init__(self, name, age): self.name = name self.age = age def __bool__(self): return self.age > 0

Проверим:

user1 = User('john', 25) user2 = User('smit', 0) print(bool(user1)) # выведет True print(bool(user2)) # выведет False

Сделайте класс Employee с зарплатой. Реализуйте __bool__: объект истинен, если зарплата больше нуля.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить