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
函数的不定长参数**kwargs
:func
函数的关键字参数
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
内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
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库中,也是需要自己来处理
随机推荐
- 基于JavaScript表单脚本(详解)
- Python 序列的方法总结
- php中数字、字符与对象判断函数用法实例
- jQuery Validator验证Ajax提交表单的方法和Ajax传参的方法
- Sql学习第一天——SQL UNION 和 UNION ALL 操作符认识
- CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
- AngularJS基础 ng-csp 指令详解
- .NET Core 2.0迁移小技巧之MemoryCache问题修复解决的方法
- PHP iconv 解决utf-8和gb2312编码转换问题
- Python提示[Errno 32]Broken pipe导致线程crash错误解决方法
- 使用Python实现下载网易云音乐的高清MV
- php求正负数数组中连续元素最大值示例
- 详解nodejs操作mongodb数据库封装DB类
- 定义标题的最好方法
- 在校大学生应该看看:《工作了才知道...》
- JavaScript控制table某列不显示的方法
- js 获取radio按钮值的实例
- C++获取指定目录下的所有文件
- C语言编程中分配内存空间的相关函数
- 单例模式 分析代码优化方法