请问func()在Python中用于函数内部时是什么意思,例如下面的代码。
def identity_decorator(func): def wrapper(): func() return wrapper
字符串
0yycz8jy1#
func是函数identity_decorator()的参数。表达式func()的意思是“调用赋值给变量func的函数”。装饰器将另一个函数作为参数,并返回一个新函数(定义为wrapper),该函数在运行时执行给定的函数func。Here is some information about decorators.
func
identity_decorator()
func()
wrapper
tgabmvqs2#
我也在想呢!您可以通过下面的示例了解它是如何工作的:
def make_pretty(func): def inner(): print("I got decorated") func() return inner def ordinary(): print("I am ordinary") pretty = make_pretty(ordinary) pretty() Output I got decorated I am ordinary
字符串现在,当你删除func()并尝试重新运行它时:
def make_pretty(func): def inner(): print("I got decorated") return inner def ordinary(): print("I am ordinary") pretty = make_pretty(ordinary) pretty() Output I got decorated
型
你会看到修饰函数没有被调用。请看这里https://www.programiz.com/python-programming/decorator
2条答案
按热度按时间0yycz8jy1#
func
是函数identity_decorator()
的参数。表达式
func()
的意思是“调用赋值给变量func
的函数”。装饰器将另一个函数作为参数,并返回一个新函数(定义为
wrapper
),该函数在运行时执行给定的函数func
。Here is some information about decorators.
tgabmvqs2#
我也在想呢!您可以通过下面的示例了解它是如何工作的:
字符串
现在,当你删除func()并尝试重新运行它时:
型
你会看到修饰函数没有被调用。请看这里https://www.programiz.com/python-programming/decorator