partialmethod تفوض الربط للواصف؛ staticmethod لا تضيف self في مثالنا. [1] [2] [3]
الخلاصة السريعة
لا مع staticmethod هنا. [1] [2] [3]
- partialmethod تفوض الربط للواصف؛ staticmethod لا تضيف self في مثالنا. [1] [2] [3]
- على CPython 3.12.14، pair(x,y) تعيد الزوج؛ في S نضع base=staticmethod(pair) وtake=partialmethod(base,4). [1] [2] [3]
- own=S()؛ own.take(9) وS.take(9) تعيدان (4,9)، دون تمرير مثيل أو صنف إلى pair. [1] [2] [3]
- partialmethod.__get__ تستدعي __get__ للواصف الأصلي ثم تجهز partial بالوسائط المحفوظة هنا. [1] [2] [3]
- تحكم مستقل: C.pair(self,x,y) تعيد self والعددين؛ control=C()؛ take=partialmethod(pair,4) تجعل control.take(9) تعيد control نفسه ثم 4 و9. لا نختبر واصفات مخصصة أو classmethod أو تجاوز الكلمات المفتاحية. [1] [2] [3]
الواصف
partialmethod تفوض الربط للواصف؛ staticmethod لا تضيف self في مثالنا. [1] [2] [3]
طريقة ساكنة
على CPython 3.12.14، pair(x,y) تعيد الزوج؛ في S نضع base=staticmethod(pair) وtake=partialmethod(base,4). [1] [2] [3]
المثيل والصنف
own=S()؛ own.take(9) وS.take(9) تعيدان (4,9)، دون تمرير مثيل أو صنف إلى pair. [1] [2] [3]
from functools import partialmethod def pair(x,y):return x,y class S: base=staticmethod(pair) take=partialmethod(base,4) own=S() print(own.take(9),S.take(9)) [1] [2] [3]

تفويض وتحكم
partialmethod.__get__ تستدعي __get__ للواصف الأصلي ثم تجهز partial بالوسائط المحفوظة هنا. [1] [2] [3]
class C: def pair(self,x,y):return self,x,y take=partialmethod(pair,4) control=C();receiver,x,y=control.take(9) print(receiver is control,x,y) [1] [2] [3]
تحكم مستقل: C.pair(self,x,y) تعيد self والعددين؛ control=C()؛ take=partialmethod(pair,4) تجعل control.take(9) تعيد control نفسه ثم 4 و9. لا نختبر واصفات مخصصة أو classmethod أو تجاوز الكلمات المفتاحية. [1] [2] [3]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
