100Дасофпитон (100 частей серии)
Это мой 25-й день # 100daysofcode и Python. Сегодня я не могу дать свое время более 2 часов. Из-за моей личной работы. Поэтому я узнал кое-что о Python Decorators. И попытался сделать какой-нибудь код на нем.
Некоторый из кода, который я занимаюсь сегодня и пытался написать, приведены ниже.
Пока я изучал, я узнал, что у Python есть интересные функции, называемые декораторами, чтобы добавить функциональность в существующий код. Это также называется Meta Programming, потому что часть программы пыталась изменить другую часть программы.
def make_pretty(func): def inner(): print("I got decorated") func() return inner def ordinary(): print("I am ordinary") pretty = make_pretty(ordinary) pretty()
Когда эта программа запускает свой выход
I got decorated I am ordinary
В приведенном выше коде make_pretty
это декоратор, Обычные были оформлены и возвращенные функции давали название красивым.
def smart_divide(func): def inner(a, b): print("I am going to divide", a, "and", b) if b == 0: print("Whoops! cannot divide") return return func(a, b) return inner @smart_divide def divide(a, b): print(a/b) divide(2,0)
Вышеуказанная функция является примером декоратора с параметром. Здесь A и B два параметра.
Вот какой-то другой пример декораторов,
def printer(text): print(text) printer = star(percent(printer)) printer('Durga')
Выход этого кода
****************************** %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Durga %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ******************************
День 25 # 100Дасофкод и #Пьютор * Функции Python, аргумент и параметр * Функция высшего порядка Python * Декораторы Python * Какой-то простой код на деконерах Python пытался узнать сегодня # 100Дасофкод , #Codenewie , #beginner , #Python pic.twitter.com/t302xx1TlK
100Дасофпитон (100 частей серии)
Оригинал: “https://dev.to/iamdurga/day-25-of-100daysofcode-python-decorators-3lh8”