Python to już z założenia język wieloparadygmatowy. Mimo że jest językiem obiektowym, to nie zrywa, tak jak Smalltalk albo Java, z programowaniem strukturalnym i pozwala na pisanie kodu niezawierającego jawnie deklarowanych klas. Z drugiej strony, sięga on po dużo bardziej specyficzny paradygmat funkcyjny. Nie jest to co prawda taka funkcyjność, jak w Haskellu albo chociaż Ocamlu, ale wystarczająca, aby dodać Pythonowi trochę egzotyki oraz znacznie rozszerzyć jego możliwości.