列表理解与for循环,在类定义中

考虑下面的代码:

class Test:
    l = [1, 2, 3]
    foo = lambda x: x

    for x in l:
        print(foo(x))

   [print(foo(x)) for x in l]


if __name__ == '__main__':
    test = Test()

输出如下:

1
2
3
... in <listcomp>
    [print(foo(x)) for x in l]
NameError: name 'foo' is not defined

我不明白为什么foo列表迭代中的函数不是可见的。可能与范围有关,但我正在寻找正确的解释,并在可能的情况下提供支持它的文档。

ps:为了修复代码,我对替代实现不感兴趣。

以上是列表理解与for循环,在类定义中的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>