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 

你可能感兴趣的:(杂乱的东西)