python进阶01偏函数

定义:偏函数的第二个部分(可变参数),按原有函数的参数顺序进行补充,参数将作用在原函数上,最后偏函数返回一个新函数(类似于,装饰器decorator,对于函数进行二次包装,产生特殊效果;但又不同于装饰器,偏函数产生了一个新函数,而装饰器,可改变被装饰函数的函数入口地址也可以不影响原函数)

效果:固定一部分参数,在后续调用时只需传递少量参数即可

个人倾向于按照重构函数行为来理解,比如需要3个函数,一个是x的平反,一个是x的3次方,一个是x的四次方,那么一个函数将2,3,4当做参数穿进去 ,生成一个新函数。这样的话可以把原函数看做函数集合,偏函数才是真正使用的函数具体对象。

举例01:

1
2
3
4
5
6
7
8
9
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

举例02:

1
2
3
4
5
6
7
8
9
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进阶01偏函数
python进阶02yield
python进阶03UnboundLocalError和NameError错误
python进阶04IO的同步异步,阻塞非阻塞
python进阶04IO的同步异步,阻塞非阻塞
python进阶05并发之一基本概念
python进阶05并发之一基本概念
python进阶06并发之二技术点关键词
python进阶07并发之三其他问题
python进阶08并发之四map, apply, map_async, apply_async差异
python进阶09并发之五生产者消费者
python进阶10并发之六并行化改造
python进阶11并发之七多种并发方式的效率测试
python进阶12并发之八多线程与数据同步
python进阶13并发之九多进程和数据共享
python进阶14变量作用域LEGB
python进阶15多继承与Mixin
python进阶16炫技巧
python进阶17正则表达式
python进阶18垃圾回收GC
python进阶19装饰器和闭包
python进阶20之actor
python进阶21再识单例模式

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×