美文网首页
python从yield到asyncio,装饰器补充

python从yield到asyncio,装饰器补充

作者: lpj24 | 来源:发表于2017-09-25 11:07 被阅读64次

    本章是对python从yield到asyncio<第一章>中关于启动协程装饰器的补充, 涉及装饰器方面知识知识简单描述, 需要深入的可以查看流畅的python一书。

    在流畅的python一书中关于装饰器的末尾作者引用了一些大神对于装饰器的理解, https://github.com/GrahamDumpleton/wrapt/blob/develop/blog/01-how-you-implemented-your-python-decorator-is-wrong.md
    这篇文章由浅入深的讲解了实现装饰器的2种方式, 一种是我们常见的使用函数实现, 另外一种使用类包装器实现(重写__call__函数), 作者建议使用第二种类包装器的方式

    1. 装饰器的本质是将一个函数变成另一个函数, 当我们调用已经被装饰过的函数test的时候, 实际上调用的是fa函数, 所以test.__doc__, __name__都会使用fa的属性, 所以需要使用wraps或者update_wrapper将传递过来的函数的属性进行更新.

    相关文章

      网友评论

          本文标题:python从yield到asyncio,装饰器补充

          本文链接:https://www.haomeiwen.com/subject/otmrextx.html