如何在Python使用装饰器来注册回调函数

(分钟前 更新) 510 2822

最新回答

之前一直知道装饰器可以增强一个已经存在的方法,Python也提供了annotation的方法,很好用回. 但是再看答flask login的扩展包的时候. 发现装饰器还可以实现回调函数的注册功能.
flask login就是通过下面的装饰器,来注册回调函数,当没有sessionID时,通过装饰器指定的函数来读取用户到session中.
@login_manager.user_loader
下面写了一个简单的测试例子来演示这个功能.
import time
import functools
class Test():
/**feature将调用callback(), 但是在Test中并没有真正的定义callback**/
def feature(self):
self.callback()
def decorate(self, func):
self.callbackfunc
return func
test Test()
/**将foo注册为回调函数*//
@test.decorate
def foo():
print &39;in foo()&39;
/**调用feature将触发回调函数**/
test.feature()
麦兜籹籹 2024-05-16

扩展回答

热门问答

装修专题

首页 >  如何在Python使用装饰器来注册回调函数

其他人还看了

页面运行时间: 0.038542985916138 秒