#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/8/17 8:40
# @Author :
# 偏函数 实际上就是简化函数的调用
# 例如 内置函数 int() 实际上是有一个参数可以指定转换的进制(默认是十进制) 就如我们要转换一个字符串为二进制
# int('1000000',base=2) 假如我们有大量的数据要转成二进制的数据呢 那我们就要写上很多的base=2
# 这个时候我们也许会写个函数包装下
import functools
def int2(s,base=2):
return int(s, base)
print(int2('1000000'))
# 同时 python为我们提供了一个工具 可以将某些参数固定下来
int3= functools.partial(int,base=2)
print(int3('110000'))
# 这个100就会自动做为*args的一部分自动添加到左边
max2= functools.partial(max,100)
print(max2(2,3)) # ===> 输出 100
# 当函数的参数个数太多,需要简化时,使用functools.partial可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。