---
title: Python Boolean Operations
---
`or`, `and`, `not`
Python Docs - Boolean Operations
These are the Boolean operations, ordered by ascending priority:
Operation | Result | Notes
--------- | ------------------------------------ | -----
x or y | if x is false, then y, else x | (1)
x and y | if x is false, then x, else y | (2)
not x | if x is false, then True, else False | (3)
**Notes:**
1. This is a short-circuit operator, so it only evaluates the second argument if the first one is False.
2. This is a short-circuit operator, so it only evaluates the second argument if the first one is True.
3. not has a lower priority than non-Boolean operators, so not a == b is interpreted as not (a == b), and a == not b is a syntax error.
## Examples:
### `or`:
>>> True or False # Short-circuited at first argument.
True
>>> False or True # Second argument is evaluated.
True
>>> False or False # Second argument is evaluated.
False
### `and`:
>>> True and False # Short-circuited at first argument.
False
>>> False and True # Second argument is evaluated.
False
>>> True and True # Second argument is evaluated.
True
### `not`:
>>> not True
False
>>> not False
True