Python 偏函数

发布日期:2019-07-23 19:47:37 阅读数: 72次 来源: 作者:

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 )  # 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

偏函数的这些使用看似简单,用处却很大,能够很好的施行DRY准绳,节流编程成本。

本文由亚博手机app编辑整理亚博手机app