نعم ، تدعو GC __del__
خطاف تنظيف المولد ، والذي بدوره يرفع GeneratorExit
في وظيفة المولد للخروج من المولد (عن طريق الاتصال generator.close()
).
هذا يعني مدير السياق __exit__
سيتم استدعاء الخطاف عندما يتم مسح وظيفة المولد من الذاكرة.
يمكنك إغلاق المولد بنفسك أولاً ، مع generator.close()
:
b.close()