Discuss / Python / 括号的问题

括号的问题

Topic source

autonote

#1 Created at ... [Delete] [Delete and Lock User]

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

def count(): def f(j): def g(): return j*j return g fs = [] for i in range(1,4): fs.append(f(i)) return fs f1,f2,f3 = count() print(f1()) print(f2()) print(f3())

` fs.append(f) 为什么不是fs.append(f())

不寒杨柳

#2 Created at ... [Delete] [Delete and Lock User]

f()表示的是调用函数后的函数返回值,而f才是表明返回函数, 改成f(),得到的count()便是一个包含三个数值的list, 而不是三个函数对象的list。


  • 1

Reply