القيمة الفارغة ليست سمة غائبة. [1] [2]
الخلاصة السريعة
None تخزن؛ لا تعيد cached_property الجلب لمجرد هذه القيمة. [1] [2]
المثال
from functools import cached_property
class Own:
def __init__(self):
self.calls=0
@cached_property
def value(self):
self.calls+=1
return None
obj=Own()
print(obj.value,obj.calls)
print(obj.value,obj.calls)
del obj.value
print(obj.value,obj.calls)الموجود والغائب
المصدر هنا يستعمل علامة مستقلة لغياب القيمة. None ليست تلك العلامة؛ تحفظ النتيجة في obj.__dict__. بعد الحذف يغيب المفتاح، فتشغل القراءة التالية الجلب وتخزن النتيجة مجددًا. [1] [2]

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