我想用python装饰函数,但不知道为什么要在代码末尾返回外部函数?
def outer_function():
word = "hi"
def inner_function():
print(word)
return inner_function
outer_function()
答案 0 :(得分:2)
装饰器背后的想法是装饰一个功能。这意味着您拥有一个函数,并且想要扩展或稍微修改其行为而不更改函数本身。由于SO并不是一般介绍Python以及特定于装饰器的地方,因此这里有一个装饰器的简单示例,并提供了一篇非常出色的RealPython文章的链接,以更深入地解释它们。
def my_decorator(func):
def wrapper():
print("Something is happening before the function is called.")
func()
print("Something is happening after the function is called.")
return wrapper
@my_decorator
def say_whee():
print("Whee!")
链接:https://realpython.com/primer-on-python-decorators/
希望这对您有所帮助。祝你有美好的一天!