私信  •  关注

bzip2

bzip2 最近创建的主题
bzip2 最近回复了
7 年前
回复了 bzip2 创建的主题 » python:类内的字典理解[复制]

这是python中的一个bug。理解被宣传为等同于for循环,但这在类中是不正确的。至少在Python3.6.6之前,在类中使用的理解中,只有一个来自理解外部的变量可以在理解内部访问,并且它必须用作最外层的迭代器。在函数中,此范围限制不适用。

为了说明为什么这是一个bug,让我们回到原来的示例。失败了:

class Foo:
    x = 5
    y = [x for i in range(1)]

但这是有效的:

def Foo():
    x = 5
    y = [x for i in range(1)]

限制在 this section 在参考指南中。