美文网首页
Python初学笔记之偏函数

Python初学笔记之偏函数

作者: 啰嗦ing | 来源:发表于2019-02-27 22:00 被阅读44次

1、Python中的偏函数和数学上的不一样。Python中的函数参数可以设定默认值,来降低函数调用的难度。举例说明:
int()函数可以把字符串转换成整数,当仅传入字符串时,int()函数默认按10进制进行转换:

int('123123')
# 123123

其实int()还提供额外的base参数,默认值是10,如果传入base参数,就可以做N进制转换:

int('12345',base=8)
#5349
int('12345',base=16)
#74565

假设需要转换大量的二进制字符串,每次传入int(x,base=2)比较麻烦,于是我们就想到了自己写一个方法int2(),把base=2默认传进去:

def int2(x,base=2):
  return int(x,base)

这样我们就能直接使用int2()来转换二进制了

int2('10000000')
#64

下面就讲偏函数,functools.partial,就是帮助我们来创建一个偏函数的:

import functools
int2=functools.partial(int,base=2)
int2('1000000')
#64

#也可以传入base值
int2=functools.partial('1000000',base=10)
#1000000

其实创建偏函数时,实际上可以接受函数对象,*args,**kw这三个参数,当传入:

int2=functools.partial(int,base=2)

实际上固定了int的关键字参数base,也就是:

int2('1000000')

当传入:

max2=functools.partial(max,10)

实际上会把10作为*args的一部分自动加到左边,也就是

max2(5,6,7)
#相当于
args=(10,5,6,7)
max(*args)
#10

小结:当函数有多个参数,且某些参数是固定的,那么就可以用偏函数来简化他们了。如果你对Java有所了解,偏函数有点像Java中的方法重载

相关文章

  • Python初学笔记之偏函数

    1、Python中的偏函数和数学上的不一样。Python中的函数参数可以设定默认值,来降低函数调用的难度。举例说明...

  • Python ☞ day 5

    Python学习笔记之 装饰器& 偏函数 & 异常处理 & 断言 & 文件读写 &编码与解码 装饰器 概念:是一个...

  • python 函数式编程之偏函数

    python学习笔记,特做记录,分享给大家,希望对大家有所帮助。 偏函数 Python的functools模块提供...

  • 孤荷凌寒自学python第二十天python的匿名函数与偏函数

    孤荷凌寒自学python第二十天python的匿名函数与偏函数 (完整学习过程屏幕记录视频地址在文末,手写笔记在文...

  • Python ☞ day 4

    Python学习笔记之 (set)集合 & 迭代器 & 函数 & 匿名函数 & 高阶函数 set set:类似di...

  • Python异步

    Python异步之asyncio 一、偏函数 如果需要减少某个函数的参数个数,可以使用 functools.par...

  • 大师兄的Python学习笔记(五): 常用库之os包

    大师兄的Python学习笔记(四): Python的内置函数大师兄的Python学习笔记(六): 常用库之sys包...

  • Python偏函数

    偏函数 当一个函数有很多参数时,调用者就需要提供多个参数。如果减少参数个数,就可以简化调用者的负担。 比如,int...

  • Python 偏函数

    Python的functiools模块提供了很多有用的功能,其中一个就是偏函数(Partial function)...

  • python 偏函数

    python偏函数的概念是:使用functools.partical将原函数及默认值作为参数传入,然后得到一个新的...

网友评论

      本文标题:Python初学笔记之偏函数

      本文链接:https://www.haomeiwen.com/subject/tvuquqtx.html