我正在向django系统添加一些代码,需要在退出函数时进行特定的函数调用。我正在更新的大多数代码都有几个退出点,这要求我在每个代码之前立即添加一个单行。有点难看。
我想做的是简单地说,“在退出此功能时,执行此操作”,就像atexit模块(从目前为止我发现的那样),但是在退出函数时被触发而不是整个剧本。
我可以使用哪种方式吗?
(顺便说一句,我使用的是Python 2.7.3)
答案 0 :(得分:3)
您可以使用装饰器。这只是一个包围函数的包装器:你可以在调用它之前或之后做你喜欢的事。
def do_after(func):
def wrapper(*args, **kwargs):
func(*args, **kwargs)
call_my_extra_function()
return wrapper
并使用它:
@do_after
def my_view(request):
...
答案 1 :(得分:0)
不要调用该函数,而是创建一个同时调用
的函数-function a(你的功能)
-function b(退出功能代码)
改为调用此元函数