首页 > 互联资讯 > 技术交流  > 

Python 偏函数( 学习 HTML5 Canvas 这一篇文章就够了)

Python 偏函数( 学习 HTML5 Canvas 这一篇文章就够了)

Python 偏函数是通过 functools 模块被用户调用。

偏函数 partial 应用

函数在执行时,要带上所有必要的参数进行调用。但是,有时参数可以在函数被调用之前提前获知。这种情况下,一个函数有一个或多个参数预先就能用上,以便函数能用更少的参数进行调用。

偏函数是将所要承载的函数作为partial()函数的第一个参数,原函数的各个参数依次作为partial()函数后续的参数,除非使用关键字参数。

通过语言描述可能无法理解偏函数是怎么使用的,那么就举一个常见的例子来说明。在这个例子里,我们实现了一个取余函数,对于整数 100,取得对于不同数 m 的 100%m 的余数。

from functools import partial def mod( n, m ): return n % m mod_by_100 = partial( mod, 100 ) print mod( 100, 7 ) # 2print mod_by_100( 7 ) # 2

由于之前看到的例子一般选择加法或乘法来讲解,无法体会偏函数参数的位置问题,容易给人造成 partial 的第二个参数也是原函数的第二个参数的假象,所以我在这里选择 mod 来讲解。

而对于有关键字参数的情况下,就可以不按照原函数的参数位置和个数了。下面再看一个例子,讲的是如何进行不同的进制转换。

from functools import partial bin2dec = partial( int, base=2 )print bin2dec( '0b10001' ) # 17print bin2dec( '10001' ) # 17 hex2dec = partial( int, base=16 )print hex2dec( '0x67' ) # 103print hex2dec( '67' ) # 103

偏函数的这些应用看似简单,用途却很大,可以很好的执行DRY原则,节省编程成本。

转自 Pythoner

本文链接地址:www.pythoner.com/54.html

Python 偏函数( 学习 HTML5 Canvas 这一篇文章就够了)由讯客互联技术交流栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Python 偏函数( 学习 HTML5 Canvas 这一篇文章就够了)