在例子这里,如果把fs.append(f)改成fs.append(f())就可以正常输出149了
def count(): fs = [] for i in range(1, 4): def f(): return i*i fs.append(f) return fs f1, f2, f3 = count()
确实捏,但是直接改成fs.append(f())的话输出的就是f()执行后的数了,原本是要输出函数的呀,我是这样认为的
改成这样也可以
def f(i = i): return i*ifs.append(f)
f相当于一个指向函数的变量,f()才代表调用这个函数
Sign in to make a reply
勇士名宿乔纳森库明加
在例子这里,如果把fs.append(f)改成fs.append(f())就可以正常输出149了