社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

bzip2

bzip2 最近创建的主题
bzip2 最近回复了
6 年前
回复了 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 在参考指南中。