قاموس الوسائط غير الفارغ ليس نسخة مستقلة في مثالنا. [2]
الخلاصة السريعة
لا هنا؛ لكن التسجيل بلا وسائط يختلف. [2]
- قاموس الوسائط غير الفارغ ليس نسخة مستقلة في مثالنا. [2]
- على CPython 3.12.14، cb(*,tag="bud") تعيد tag؛ own كائن Node باقٍ، وf=finalize(own,cb,tag="bud") منهي حي. [1] [2]
- box=f.peek() يعيد صفًا آخره قاموس الوسائط؛ تغيير box[3]["tag"] إلى "leaf" يظهر عند الاستدعاء الصريح f()؛ الناتج "leaf". [1] [2]
- التنفيذ يعيد info.kwargs or {}؛ المسجلة غير الفارغة تعاد نفسها، أما الغائبة فتعطي قاموسًا جديدًا. [2]
- تحكم مستقل: control كائن Node باقٍ وg=finalize(control,cb) بلا وسائط مسماة؛ تعديل قاموس peek إلى tag="leaf" يترك g() تعيد "bud". هذا تفصيل التنفيذ المثبت، لا نصيحة لتعديله. [2]
المشاركة
قاموس الوسائط غير الفارغ ليس نسخة مستقلة في مثالنا. [2]
تسجيل صريح
على CPython 3.12.14، cb(*,tag="bud") تعيد tag؛ own كائن Node باقٍ، وf=finalize(own,cb,tag="bud") منهي حي. [1] [2]
تعديل واستدعاء
box=f.peek() يعيد صفًا آخره قاموس الوسائط؛ تغيير box[3]["tag"] إلى "leaf" يظهر عند الاستدعاء الصريح f()؛ الناتج "leaf". [1] [2]
from weakref import finalize class Node:pass def cb(*,tag="bud"):return tag own=Node();f=finalize(own,cb,tag="bud") box=f.peek();box[3]["tag"]="leaf" print(f()) [1] [2]
![weakref.finalize; cb(*,tag="bud") returns tag; control:Node alive; g=finalize(control,cb); box=g.peek(); box[3]["tag"]="leaf"; g():"bud"](https://images.bahralolom.com/assets/local-2000-20261012/BA-1711/python-finalize-peek-kwargs-values.png)
تنفيذ وتحكم
التنفيذ يعيد info.kwargs or {}؛ المسجلة غير الفارغة تعاد نفسها، أما الغائبة فتعطي قاموسًا جديدًا. [2]
control=Node();g=finalize(control,cb) box=g.peek();box[3]["tag"]="leaf" print(g()) [1] [2]
تحكم مستقل: control كائن Node باقٍ وg=finalize(control,cb) بلا وسائط مسماة؛ تعديل قاموس peek إلى tag="leaf" يترك g() تعيد "bud". هذا تفصيل التنفيذ المثبت، لا نصيحة لتعديله. [2]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
![weakref.finalize; cb(*,tag="bud") returns tag; own:Node alive; f=finalize(own,cb,tag="bud"); box=f.peek(); box[3]["tag"]="leaf"; f():"leaf"](https://images.bahralolom.com/assets/local-2000-20261012/BA-1711/python-finalize-peek-kwargs-main.png)