Рубрики
Без рубрики

День 25 от 100 днейsofcode: Питона декораторы

Это мой 25-й день # 100daysofcode и Python. Сегодня я не могу дать свое время более 2 хо … Tagged с 100днемsofcode, CodeNewie, начинающим, Python.

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”