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