例题中的语句将fs.append(f)改为fs.append(f())
例题中的语句将fs.append(f)改为fs.append(f())
后面打印f1 时值是1,打印f2时候值是4, f3 是9.请问各位,这个逻辑是神马?
例题中的语句将fs.append(f)改为fs.append(f())
后面打印f1 时值是1,打印f2时候值是4, f3 是9.请问各位,这个逻辑是神马?
2016-07-21
f返回的是一个函数,f()是返回函数的值
def count(): fs = [] for i in range(1, 4): def f(): return i*i fs.append(f()) return fs #fs = [f() f() f()],是值 f1, f2, f3 = count() print(f1,f2,f3)
def count(): fs = [] for i in range(1, 4): def f(): return i*i fs.append(f) return fs #fs = [f f f],是函数 f1, f2, f3 = count() print(f1(),f2(),f3())
举报