Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

مقدمة في المزخرفات

جزء من قسم Object Oriented Programming في رحلة Python على Coddy — الدرس 9 من 64.

المزخرفات (Decorators) هي وسيلة لتعديل أو تحسين الدوال والأصناف (classes) دون تغيير كودها الأصلي. وهي تستخدم الرمز @.

إليك مثال على مزخرف (decorator) بسيط: 

def my_decorator(func):
    def wrapper():
        print("Before function runs")
        func()
        print("After function runs")
    return wrapper

قم بتطبيق المزخرف (decorator) باستخدام @:

@my_decorator
def say_hello():
    print("Hello!")

استدعِ الدالة المزخرفة:

say_hello()

المخرجات:

Before function runs
Hello!
After function runs

إنّ @my_decorator مكافئ لكتابة:

def say_hello():
    print("Hello!")

say_hello = my_decorator(say_hello)

لكن صيغة @ أكثر بساطة وأسهل في القراءة.

نقطة رئيسية: تقوم الـ Decorators بتغليف الدوال لإضافة وظائف إضافية دون تعديل كود الدالة الأصلي.

ورقة مرجعية

تقوم المزخرفات (Decorators) بتعديل أو تحسين الدوال دون تغيير كودها الأصلي باستخدام رمز @.

الهيكل الأساسي للمزخرف:

def my_decorator(func):
    def wrapper():
        print("Before function runs")
        func()
        print("After function runs")
    return wrapper

تطبيق المزخرف باستخدام @:

@my_decorator
def say_hello():
    print("Hello!")

صيغة @my_decorator تعادل:

say_hello = my_decorator(say_hello)

جرّب بنفسك

لا يتضمّن هذا الدرس تحدّيًا برمجيًا.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Object Oriented Programming