الدالة weakref.WeakMethod()
في بايثون
< Python | weakref
اذهب إلى التنقل
اذهب إلى البحث
مراجعة 15:28، 27 أغسطس 2018 بواسطة Mohammed Taher (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الدالة <code>weakref.WeakMethod()</code> في بايثون}}</noinclude> صنف فرعي خاصّ من الصنف ref يحاكي إش...')
صنف فرعي خاصّ من الصنف ref يحاكي إشارة ضعيفة إلى تابع مرتبط bound method (أي تابع معرف في صنف وجرى البحث عنه في نسخة من ذلك الصنف).
ملاحظة: هذا الصنف جديد في الإصدار 3.4.
البنية العامة
class weakref.WeakMethod(method)
المعاملات
dict
التابع المراد إنشاء محاكاة لإشارة ضعيفة إليه.
التوابع المرتبطة سريعة الزوال ما يمنع من تمسّك الإشارات الضعيفة العادية بها. يمتلك الصنف WeakMethod طريقة خاصة لإعادة إنشاء التابع المرتبط والإبقاء عليه إلى أن يموت الكائن أو الدالة الأصلية:
>>> class C:
... def method(self):
... print("method called!")
...
>>> c = C()
>>> r = weakref.ref(c.method)
>>> r()
>>> r = weakref.WeakMethod(c.method)
>>> r()
<bound method C.method of <__main__.C object at 0x7fc859830220>>
>>> r()()
method called!
>>> del c
>>> gc.collect()
0
>>> r()
>>>