1. 程式人生 > >python模組atexit與register函式

python模組atexit與register函式

register函式原型

atexit.register(func, *args, **kwargs)

register的作用

register函式位於atexit模組,用於在程式退出時執行,進行必要的清理等,有點像C++的解構函式。

register的使用

在python3中,register有2種方式來註冊函式,一種是直接在register中填寫函式名,還有一種就是用裝飾器語法。

例如對func()函式註冊:

  1. register(func) #可以在func後面對func進行傳參
  2. @register
    def func():

register順序

在程式結束時,先註冊的後執行

一個例子

from atexit import register
def reg_1():
    print('I`m reg1 ')
def reg_2(name):
    print('I`m reg2 %s'%(name))
def reg_3(name1,name2,name3):
    print('I`m reg3 %s %s %s'%(name1,name2,name3))
register(reg_1)
register(reg_2,'reg2')
register(reg_3,'reg3','reg3','reg3')
@register
def reg_4():
    print('I`m reg4'
) #輸出: #I`m reg4 #I`m reg3 reg3 reg3 reg3 #I`m reg2 reg2 #I`m reg1