有人发布了this interesting formulation,我在Python3控制台中尝试了一下:
>>> (a, b) = a[b] = {}, 5
>>> a
{5: ({...}, 5)}
虽然这里有很多东西需要解开,但我不明白的是{...}
在这个上下文中意味着什么(有趣的字符公式的语义似乎特别难以搜索)?稍微改变一下上面的内容:
第二个输出确实让我困惑:我本以为{...}
被改变了,但我最接近的猜测是{{...}
的意思吗?如果是这样的话,这是Python中一个新的类型类别,我想给它取一个名称,这样我可以了解更多。在
这表明dict是递归的,即包含它自己。一个简单得多的例子:
这是一个列表,它的唯一元素是它本身。显然repr不能按字面意思打印,否则它将无限长;相反,内置类型会在发生这种情况时通知它,并使用
...
来表示自包含。在因此,它不是一种特殊类型的值,只是普通的英语用法“…”表示“此处省略了某些内容”,加上大括号以表示省略的部分是dict。您还可以看到它带有括号的列表,如上图所示,或者偶尔会在元组中使用括号:
^{pr2}$Python3提供了一些工具,因此您可以使用自己的对象来完成此操作,格式为^{} 。在
相关问题 更多 >
编程相关推荐