Python Truth Value Testing


title: Python Truth Value Testing

Python Docs – Truth Value Testing

Any object can be tested for truth value, for use in an if or while condition or as operand of a Boolean operation like and, or, or not.

The following values are considered false:

  • None
  • False
  • zero of any numeric type, for example, 0, 0.0, 0j, Decimal(0), Fraction(0, 1).
  • any empty sequence, for example, '', (), [], set(), range(0).
  • any empty mapping, for example, {}.
  • instances of user-defined classes, if the class defines a __bool__() or __len__() method, when that method returns False or 0.

All other values are considered true — so objects of many types are always true.

Operations and built-in functions that have a Boolean result always return 0 or False for false and 1 or True for true, unless otherwise stated. (Important exception: the Boolean operations or and and always return one of their operands.)

This article needs improvement. You can help improve this article. You can also write similar articles and help the community.