Discuss / Python / 为什么要多写一个g()?

为什么要多写一个g()?

Topic source

弱弱的问一句,老师的这段代码为什么要多一个g(),直接return j*j不可以吗?

def count(): def f(j): def g(): return j*j return g fs = [] for i in range(1, 4): fs.append(f(i)) # f(i)立刻被执行,因此i的当前值被传入f() return fs

Wanccao

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

一个返回的是函数,一个返回的是值 写成j*j的话 要改成下面的使用方法

f1, f2, f3 = count() f1 1 f2 4 f3 9

Wanccao

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

一个返回的是函数,一个返回的是值 写成j*j的话 要改成下面的使用方法,不用() f1, f2, f3 = count() f1 1 f2 4 f3 9

感谢@Wanccao的回答,明白了


  • 1

Reply