python偏函数partial用法

目录
  • 1、什么是偏函数partial
  • 2、偏函数的作用
  • 3、偏函数的语法
  • 4、案例
    • 案例1
    • 案例2

1、什么是偏函数partial

python中提供一种对于函数固定属性的函数

2、偏函数的作用

把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数

3、偏函数的语法

使用偏函数必须先导入from functools import partial

函数格式:partial(func, *args, **kwargs)

  • func:代表函数名
  • *argsfunc函数的不定长参数
  • **kwargsfunc函数的关键字参数

4、案例

案例1

from functools import partial

bin2dec = partial(int, base=2)  # 把 int 的转换设为二进制了,这里 base 是 int 函数表示进制的参数。
print(bin2dec('0b10001') ) # 17
print(bin2dec('10001'))  # 17

hex2dec = partial(int, base=16)  # 把 int 的转换设为16进制
print(hex2dec('0x67'))  # 103
print(hex2dec('67'))  # 103

案例2

partial_max = partial(max, 100)
print(partial_max(1, 2, 99))  # 100

上面是给max()函数设定了一个默认参数100,返回一个新函数,当我们传入参数(1, 2, 99)实际上参数中还有一个默认值100,相当于(100, 1, 2, 99) ,所以得出的最大值为100

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

到此这篇关于python偏函数partial用法的文章就介绍到这了,更多相关python偏函数partial内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python使用functools模块中的partial函数生成偏函数

    python 中提供一种用于对函数固定属性的函数(与数学上的偏函数不一样) # 通常会返回10进制 int('12345') # print 12345 # 使用参数 返回 8进制 int('11111', 8) # print 4681 每次都得添加参数比较麻烦, functools提供了partial的方法 import functools foo = functools.partial(int, base=8) foo('11111') # print 4681 通过这种方法生成一个固定参

  • Python偏函数Partial function使用方法实例详解

    Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function). 要注意,这里的偏函数和数学意义上的偏函数不一样. 在介绍函数参数的时候,我们讲到,通过设定参数的默认值,可以降低函数调用的难度.而偏函数也可以做到这一点.举例如下: int()函数可以把字符串转换为整数,当仅传入字符串时,int()函数默认按十进制转换: int('12345') 12345 但int()函数还提供额外的base参数,默认值为10.如果传入base参数,就可以做N进

  • python中偏函数partial用法实例分析

    本文实例讲述了python中偏函数partial用法.分享给大家供大家参考.具体如下: 函数在执行时,要带上所有必要的参数进行调用.但是,有时参数可以在函数被调用之前提前获知.这种情况下,一个函数有一个或多个参数预先就能用上,以便函数能用更少的参数进行调用. 例如: In [9]: from functools import partial In [10]: def add(a,b): ....: return a+b ....: In [11]: add(4,3) Out[11]: 7 In

  • python偏函数partial用法

    目录 1.什么是偏函数partial 2.偏函数的作用 3.偏函数的语法 4.案例 案例1 案例2 1.什么是偏函数partial python中提供一种对于函数固定属性的函数 2.偏函数的作用 把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数 3.偏函数的语法 使用偏函数必须先导入from functools import partial 函数格式:partial(func, *args, **kwargs) func:代表函数名 *args:func函数的不定长参数 **k

  • 解析Python 偏函数用法全方位实现

    Python的functools模块中有一种函数叫"偏函数",自从接触它以来,发现确实是一个很有用且简单的函数,相信你看完这篇文章,你也有相见恨晚的感觉. 我们都知道,函数入参可以设置默认值来简化函数调用,而偏函数的作用就是将入参进行默认填充,降低函数使用的难度. 如int()函数,可以将字符型转换为整型,且默认的都是以十进制形式来转换,那为什么一定是十进制呢?如果想用以二进制的形式转换呢?其实我们可以看一下int函数它本身的定义偏函数,一个让你相见恨晚的实用函数 可以看到int有两种

  • python偏函数的实例用法总结

    说明 1.当函数的参数太多,需要简化时,使用functools.partial可以创建一个新的函数. 2.这个新的函数可以固定原始函数的部分参数,从而更容易调用. 作用是固定一个函数的某些参数(即设置默认值),返回一个新函数,调用这个新函数会更容易. 实例 >>> import functools >>> int2 = functools.partial(int, base=2) >>> int2('1000000') 64 >>>

  • python中管道用法入门实例

    本文实例讲述了python中管道用法.分享给大家供大家参考.具体如下: #!coding=utf-8 import multiprocessing def consumer(pipe): output_p , input_p = pipe input_p.close() #关闭管道的输入端 while True: try: item = output_p.recv() except EOFError: break print item print ("consumer done") #

  • python生成器generator用法实例分析

    本文实例讲述了python生成器generator用法.分享给大家供大家参考.具体如下: 使用yield,可以让函数生成一个结果序列,而不仅仅是一个值 例如: def countdown(n): print "counting down" while n>0: yield n #生成一个n值 n -=1 >>> c = countdown(5) >>> c.next() counting down 5 >>> c.next()

  • python类继承用法实例分析

    本文实例讲述了python类继承用法.分享给大家供大家参考.具体方法如下: #!/usr/bin/python # Filename: inherit.py class SchoolMember: '''Represents any school member.''' def __init__(self, name, age): self.name = name self.age = age print'(Initialized SchoolMember: %s)'% self.name def

  • python中反射用法实例

    本文实例讲述了python中反射用法.分享给大家供大家参考.具体如下: import sys, types,new def _get_mod(modulePath): try: aMod = sys.modules[modulePath] if not isinstance(aMod, types.ModuleType): raise KeyError except KeyError: # The last [''] is very important! aMod = __import__(mo

  • Python AES加密模块用法分析

    本文实例讲述了Python AES加密模块用法.分享给大家供大家参考,具体如下: AES是新的一种加密模块.在上次介绍过在C语言中如何来OpenSSL中的DES.这次我们来看看Python自带的库如何来使用AES来加解密.其实二者的原理还是非常像,只是说在python中来做这个事情会比C语言要简单点,但是比起C#/Java还是有点点啰嗦.在C#/JAVA这种语言中,对于加密的源数据的处理,padding一般都会有完整的实现.我在上次C语言中也处理过这个问题.在python库中,也是需要自己来处理

随机推荐