tg-me.com/BookPython/3551
Last Update:
В Python каждое значение имеет логическое (булево) представление. Оно неявно приводится к bool
, когда используется в if
, bool
, not
и других логических операциях.
Ложными (False
) считаются следующие объекты: None
, False
, 0
любого типа, а также пустые коллекции (""
, []
, {}
и т. д.), включая пользовательские коллекции с методом __len__
, если __len__
возвращает 0
.
Можно также определить пользовательскую проверку логического значения для своих объектов, используя магический метод __bool__
:
class Rectangle:
def __init__(self, width, height):
self._w = width
self._h = height
def __bool__(self):
return bool(self._w and self._h)
print(bool(Rectangle(2, 3))) # True
print(bool(Rectangle(2, 0))) # False
print(bool(Rectangle(0, 2))) # False
Обратите внимание, что в Python 2 аналогом
__bool__
является метод __nonzero__
.👉@BookPython
BY Библиотека Python разработчика | Книги по питону
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Share with your friend now:
tg-me.com/BookPython/3551