返回函数的理解
Topic source#但是这个例子还是没能理解
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
用户20180503
#应该在这个例子:
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()
#这样就相对容易理解调用内层函数是怎么处理的