الدالة weakref.WeakMethod()
في بايثون
< Python | weakref
اذهب إلى التنقل
اذهب إلى البحث
مراجعة 15:32، 27 أغسطس 2018 بواسطة Mohammed Taher (نقاش | مساهمات)
صنف فرعي خاصّ من الصنف 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()
>>>