def A(x, y):
def B(y):
return x + y
return B(y)
C = A(3, 4)
print(type(C), C)
这里就如正常的写法一样,返回<class 'int'> 3+4=7
def A(x):
return x + 1
B = A
print(type(B), B(2))
这里的B类似于 ,返回的类型是<class 'function'>,即再次调用的时候需要加上一个括号,返回值为2+1=3。
def A(x):
def B(y):
return x + y
return B
C = A(3)
print(type(C), C(C(4)))
在调用A的时候返回的是B,这里类似于 ,类型是<class 'function'>,C(C(4))的计算过程为4+3+3=10。
python的函数返回值可以无,有多个数时返回的是一个元组,遇到return即停止。
def A(x, y):
x += y
print(A(1, 2)) # None
def A(x, y):
x += y
return x, y
print(A(1, 2)) # (3, 2)