Python Language Valeur booléenne de classe


Exemple

Python 2.x 2.7

Dans Python 2, si vous souhaitez définir vous-même une valeur booléenne de classe, vous devez implémenter la méthode __nonzero__ dans votre classe. La valeur est True par défaut.

class MyClass:
    def __nonzero__(self):
        return False

my_instance = MyClass()
print bool(MyClass)       # True
print bool(my_instance)   # False
Python 3.x 3.0

En Python 3, __bool__ est utilisé à la place de __nonzero__

class MyClass:
    def __bool__(self):
        return False

my_instance = MyClass()
print(bool(MyClass))       # True
print(bool(my_instance))   # False