نلغي تسجيلين للدالة نفسها في برنامج مؤلف. [1] [2]
الخلاصة السريعة
المثال
import atexit
def f(x): print(x)
def keep(): print("K")
atexit.register(f,"A")
atexit.register(f,"B")
atexit.register(keep)
atexit.unregister(f)
print("main")الدالة والمعاملات
الإلغاء لا يختار تسجيل A وحده. لا يستدعي unregister دالتنا f؛ لذلك لا نرى A أو B عند خروج المثال. بقيت keep لأنها دالة مختلفة. [1] [2]

مقارنة
حذف سطر الإلغاء يعطي main ثم K ثم B ثم A؛ تُنفذ دوال الخروج بعكس ترتيب التسجيل. إعادة الإلغاء في مثالنا لا تضيف مخرجات. [1] [2]
الحدود
شغلناه في عملية منفصلة حتى انتهى البرنامج طبيعيًا. لا نختبر أخطاء دوال الخروج، أو تعديل التسجيلات داخلها، أو الإيقاف القسري، ولا نعد بتنظيف الموارد في كل حالة. [1] [2]
المراجع
- Python: atexit
- CPython3.12.14: atexitmodule.c
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
