Discuss / Python / 返回函数的理解

返回函数的理解

Topic source

#应该在这个例子:

def lazy_sum(*args): def sum(): ax = 0 for n in args: ax = ax + n return ax return sum

#旁边加上下面这个例子:

def lazy_sum(*args): def sum(): ax = 0 for n in args: ax = ax + n return ax return sum()

#这样就相对容易理解调用内层函数是怎么处理的

#但是这个例子还是没能理解

def count(): fs = [] for i in range(1, 4): def f(): return i*i fs.append(f) return fs

f1, f2, f3 = count()

def lazy_sum(*args): def sum(): ax = 0 for n in args: ax = ax + n return ax return sum #sum()的关系与f对应,如果不加()是返回函数,不可以直接打印出计算结果.加()是返回实参,返回实参后打印时f就不用再加() f=lazy_sum(3,4,7) print (f()) #与sum对应,如果前面是sum(),那么就直接返回实参3,4,7的计算值,如果是sum,f就要加()否则打印的是地址。


  • 1

Reply