Home >Backend Development >Python Tutorial >Truthy vs. Falsy in Python: What's the Difference?

Truthy vs. Falsy in Python: What's the Difference?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-21 03:24:11874browse

Truthy vs. Falsy in Python: What's the Difference?

Truthy and Falsy: Distinguishing from True and False in Python

In Python, we encounter values that behave as booleans but are distinct from the explicit True and False values. These are known as truthy and falsy values.

Truthy Values

Truthy values evaluate to True in if and while statements. Everything except the following is considered truthy:

  • None
  • False
  • Numerically zero values (0, 0.0, 0j, etc.)
  • Empty sequences/collections ([], {}, (), etc.)
  • Empty strings and bytes
  • Objects with bool__() returning False or __len__() returning 0 (if __bool is undefined)

Falsy Values

Falsy values, on the other hand, evaluate to False:

  • None
  • False
  • Numerically zero values (0, 0.0, 0j, etc.)
  • Empty sequences/collections ([], {}, (), etc.)
  • Empty strings and bytes
  • Objects with __bool__() returning False

Differences

While truthy and True values often produce the same results, they are not identical. Truthy values are treated as True, but they may not necessarily be equal to True when compared. Similarly, falsy and False values behave as False but may not equal False.

Usage

Truthy and falsy values are used extensively in Python for conditional logic. For instance, an if statement only executes its block if its condition evaluates to truthy. By leveraging truthy and falsy values, you can simplify your code and enhance its readability.

The above is the detailed content of Truthy vs. Falsy in Python: What's the Difference?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn