Ei vielä käännetty
Tätä sivua ei ole vielä käännetty suomeksi, joten se näytetään englanniksi. Auta kääntämään
atexit Module Complexity¶
The atexit module registers functions to run when the interpreter terminates
normally. Handlers run in last-in, first-out (LIFO) order.
Complexity Reference¶
| Operation | Time | Space | Notes |
|---|---|---|---|
atexit.register() |
O(1) | O(1) | Append handler to stack |
atexit.unregister() |
O(n) | O(1) | n = registered handlers; removes all matches |
| Handler execution | O(n) | O(1) | n = registered handlers; LIFO order |
When handlers run
Handlers run only on normal interpreter shutdown (e.g., program end or
sys.exit()). They do not run on os._exit() or hard termination signals.
Registering Cleanup Handlers¶
import atexit
# Register handler - O(1)
@atexit.register
def cleanup():
print("Cleaning up")
Handler Order (LIFO)¶
import atexit
@atexit.register
def first():
print("first")
@atexit.register
def second():
print("second")
# On shutdown:
# second
# first
Unregistering Handlers¶
import atexit
def temp():
pass
atexit.register(temp)
atexit.unregister(temp) # O(n) scan to remove all matches