ديكورات بايثون

المصممون هم وسيلة لتغيير أو تحسين أو تغيير طريقة عمل الوظيفة بأي طريقة.

يتم تعريف مصممي الديكور مع@متبوعًا باسم المصمم ، قبل تعريف الوظيفة مباشرةً.

مثال:

@logtime
def hello():
    print('hello!')

هذهhelloوظيفة لديهاlogtimeتعيين مصمم.

كلما اتصلناhello()، سيتم استدعاء المصمم.

المصمم هو وظيفة تأخذ وظيفة كمعامل ، وتلف الوظيفة في وظيفة داخلية تؤدي الوظيفة التي يتعين عليها القيام بها ، وتعيد تلك الوظيفة الداخلية. بعبارة أخرى:

def logtime(func):
    def wrapper():
        # do something before
        val = func()
        # do something after
        return val
    return wrapper

المزيد من دروس بيثون: