مقدمة في المزخرفات
جزء من قسم 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)جرّب بنفسك
لا يتضمّن هذا الدرس تحدّيًا برمجيًا.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Object Oriented Programming
1أساسيات OOP
الملفات الخارجيةمقدمة في OOPClasses مقابل Objectsمعامل selfMethodsAttributesدالة البناء (__init__)مراجعة - آلة حاسبة بسيطة4الوراثة
الوراثة الأساسيةدالة ()superإعادة تعريف الدوال (Method Overriding)الوراثة المتعددةترتيب استدعاء الدوال (Method Resolution Order)مراجعة - هيكلية الموظفين5تعدد الأشكال
مراجعة إعادة تعريف الدوالمفهوم Duck Typingالأصناف والدوال المجردةتصميم الواجهاتملخص - حاسبة الأشكال