register函数原型
atexit.register(func, *args, **kwargs)
register的作用
register函数位于atexit模块,用于在程序退出时运行,进行必要的清理等,有点像C++的析构函数。
register的使用
在python3中,register有2种方式来注册函数,一种是直接在register中填写函数名,还有一种就是用装饰器语法。
例如对func()函数注册:
- register(func) #可以在func后面对func进行传参
- @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