 Python is a multi-paradigm programming language: object-oriented programming and structured programming are fully supported, and many language features support functional programming and aspect-oriented programming (including by metaprogramming and metaobjects ( magic methods) ). Many other paradigms are supported via extensions, including design by contract and logic programming.
