حفظ الاسم يختلف عن حفظ الطريقة المرتبطة بالكائن. [1] [2] [3]
الخلاصة السريعة
لا؛ يجلب methodcaller الطريقة بالاسم عند الاستدعاء. [1] [2] [3]
المثال
from operator import methodcaller
class T:
def mark(self):
return 'bud'
x=T()
saved=x.mark
f=methodcaller('mark')
T.mark=lambda self:'leaf'
print(saved())
print(f(x))متى يجلب الطريقة؟
المصدر هنا يجلب السمة من الكائن عند f(x) ثم يستدعيها. المخرجان bud وleaf. بقي saved مرتبطًا بالدالة الأصلية في هذه التجربة، بينما وجد الجلب الجديد طريقة الصنف المستبدلة. [1] [2] [3]

النطاق
الكائن نفسه لم يتبدل. هذه ليست نسخة ثابتة من سلوكه؛ قد يخضع الجلب لقواعد سمات مخصصة. لم نغير operator أو نجرب كل أنواع الكائنات. [1] [2] [3]
المراجع
- Python 3.12: operator.methodcaller
- CPython 3.12.14: operator.py
- CPython 3.12.14: _operator.c
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
