functools

作者: LittlePy | 来源:发表于2017-08-09 12:29 被阅读29次

    functools模块里存放的是一些工具函数,在使用前需要导入functools模块,在python3.X中,可以通过一下方式获取该模块的工具方法:

    python3中增加了更多工具函数,做业务开发时大多情况下用不到,此处介绍使用频率较高的2个函数。

    1、partial函数(偏函数)

    把一个函数的某些参数设置默认值,返回一个新的函数,调用这个新函数会更简单

    可以看出在调用p函数时,该函数已经有了默认参数1,2,3,4。因为foo函数的参数是可变类型,所以在调用p函数时可以继续为其传参。

    2、wraps函数

    使用装饰器时,有一些细节需要被注意,例如,被装饰后的函数其实已经指向另外一个函数了(函数名等函数属性会发生改变)。

    我们知道在定义函数和类时,我们会添加一些注释,即对该类和函数的声明,但是在装饰中,我们如果使用help的方法,却得不到我们想要的注释,看下面的例子:

    可以看出,我们想要查看test函数的帮助,不言而喻我们想要的是"test function"这一注释,但结果却输出的是它真正指向的函数的注释,这样就不是很方便了,wraps装饰器就是用来消除这样的副作用

    可以看到我们得到了我们想要的test函数的注释。

    相关文章

      网友评论

          本文标题:functools

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