码迷,mamicode.com
首页 > 编程语言 > 详细

python函数式编程——偏函数

时间:2015-06-19 21:41:27      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:python

今天讲解的内容是偏函数,偏函数是从Python2.5引入的一个概念,通过functools模块被用户调用。

偏函数是将所要承载的函数作为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 )
2
>>> print mod_by_100( 7 )
2

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

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

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


python函数式编程——偏函数

标签:python

原文地址:http://wangyongbin.blog.51cto.com/8964308/1663707

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!