عند تمرير الدالة بالموضع، obj= تصل إليها ككلمة مفتاحية. [1]
الخلاصة السريعة
إلى الدالة المستدعاة؛ ليست بديلًا عن موضعها. [1]
- عند تمرير الدالة بالموضع، obj= تصل إليها ككلمة مفتاحية. [1]
- على CPython 3.12.14، echo تقبل obj بالكلمة المفتاحية وتعيدها؛ call(echo,obj="bud") تعطي bud. [1]
- التوقيع call(obj, /, *args, **kwargs): ما قبل / موضعي فقط؛ تمرر الكلمات المتبقية للدالة. [1]
- call(obj=echo) ترفع TypeError: لم نمرر الكائن القابل للاستدعاء بالموضع. سجل echo لم يتغير بعد المحاولة. [1]
- تحكم مباشر: echo(obj="leaf") تعطي leaf؛ الدالة تقبل الاسم. الإخفاق السابق في استدعاء call دون وسيطها الموضعي، قبل دخول echo. مثال بدالة مؤلفة فقط. [1]
وجهة الكلمة المفتاحية
عند تمرير الدالة بالموضع، obj= تصل إليها ككلمة مفتاحية. [1]
الدالة والقيمة
على CPython 3.12.14، echo تقبل obj بالكلمة المفتاحية وتعيدها؛ call(echo,obj="bud") تعطي bud. [1]
اقرأ الفاصل
التوقيع call(obj, /, *args, **kwargs): ما قبل / موضعي فقط؛ تمرر الكلمات المتبقية للدالة. [1]
from operator import call calls=[] def echo(*,obj): calls.append(obj) return obj print(call(echo,obj="bud")) [1]

الخطأ والتحكم
call(obj=echo) ترفع TypeError: لم نمرر الكائن القابل للاستدعاء بالموضع. سجل echo لم يتغير بعد المحاولة. [1]
try: call(obj=echo) except TypeError: print("TypeError") print(calls) print(echo(obj="leaf")) [1]
تحكم مباشر: echo(obj="leaf") تعطي leaf؛ الدالة تقبل الاسم. الإخفاق السابق في استدعاء call دون وسيطها الموضعي، قبل دخول echo. مثال بدالة مؤلفة فقط. [1]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
