Discuss / Python / 请教一个问题

请教一个问题

Topic source
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

这一段其中的def f不是很理解 为什么中间还要加一个函数g(),直接写为

def f(j):
    return j*j

不就好了,反正已经绑定了i,也把值写入了fs[]

nishno_s45

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

因为fs里面添加的是函数。所以上面要返回g而不是j*j


  • 1

Reply