专栏名称: 未闻Code
博主喜欢Python和爬虫,已经出了两本书。这里是他灵感的发源地。关注这个公众号,你的生产效率在三天内就会得到提高。P.S.: 这个公众号日更。
今天看啥  ›  专栏  ›  未闻Code

Python 中的 @wraps 到底是个啥东西?

未闻Code  · 公众号  ·  · 2024-07-08 21:00

文章预览

只要你读得很快 你可能在随意的 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 来用 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览