Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join 11 million other learners and get started learning Python for data science today!
Good news! You can save 25% off your Datacamp annual subscription with the code LEARNPYTHON23ALE25 - Click here to redeem your discount
Dekorátory
Dekorátory vám umožňují provádět jednoduché úpravy volatelných objektů, jako jsou funkce, metody nebo třídy. V tomto tutoriálu se budeme zabývat funkcemi. Syntaxe
Je ekvivalentní:
Jak jste mohli vidět, dekorátor je jen další funkce, která vezme funkci a vrátí ji. Například byste mohli udělat toto:
Toto způsobí, že se funkce provede dvakrát.
Můžete také upravit výstup
upravit vstup
a provádět kontrolu.
Řekněme, že chcete násobit výstup proměnným množstvím. Můžete definovat dekorátor a použít ho následovně:
Můžete udělat cokoli, co chcete se starou funkcí, i ji zcela ignorovat! Pokročilé dekorátory mohou také měnit doc string a počet argumentů. Pro některé zajímavé dekorátory, jděte na http://wiki.python.org/moin/PythonDecoratorLibrary.
Exercise
Vytvořte továrnu dekorátorů, která vrátí dekorátor, jenž dekoruje funkce s jedním argumentem. Továrna by měla přijmout jeden argument, typ, a poté vrátit dekorátor, který kontroluje, zda vstup má správný typ. Pokud je špatný, měl by vytisknout("Bad Type") (Ve skutečnosti by měl vyvolat chybu, ale vyvolávání chyb není v tomto tutoriálu). Mohlo by pomoci použití isinstance(object, type_of_object) nebo type(object).
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!
