文章预览
只要你读得很快 你可能在随意的 Python 代码中见过这个 @wraps 的东西,你可能想知道这到底是什么? 函数有元数据 元数据指的是函数本身的数据。 def apple () : '''a function that prints apple''' print( 'apple' ) print(apple.__name__) # apple print(apple.__doc__) # 打印apple的函数 例子包括函数名 .__name__ 或函数 docstring .__doc__ 装饰器如何工作 装饰器用于改变函数的行为方式,而无需修改任何源代码。 def greet (name) : return 'hello ' + name print(greet( 'tom' )) # hello tom 在这里,我们有一个普通的 greet 功能 def add_exclamation (func) : def wrapper (name) : return func(name) + '!' return wrapper @add_exclamation def greet (name) : return 'hello ' + name print(greet( 'tom' )) # hello tom! 我们通过在 greet() 上添加 @add_exclamation 来用
………………………………