学习python时,无意识中察觉到的,几种方法,异曲同工!
1:先来看看内嵌函数:
def nadd(n):x=n def add(y):z=x+yreturn zreturn addadd1=nadd(1)sum=add1(2)
2:__call__方法(可以简单的理解为这是类的括号运算符的重载方法)
class add(object):def __init__(self,x):self.x=xdef __call__(self,y):z=self.x+yreturn zadd1=add(1)sum=add1(2)
3:functools.partial
from functools import partialdef add(a, b):return a + badd1=partial(add, 1)sum=add1(2)