 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 . 
