---
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