在python变量的打印输出中{…}是什么意思?

2024-03-29 01:33:34 发布

您现在位置:Python中文网/ 问答频道 /正文

有人发布了this interesting formulation,我在Python3控制台中尝试了一下:

>>> (a, b) = a[b] = {}, 5
>>> a
{5: ({...}, 5)}

虽然这里有很多东西需要解开,但我不明白的是{...}在这个上下文中意味着什么(有趣的字符公式的语义似乎特别难以搜索)?稍微改变一下上面的内容:

^{pr2}$

第二个输出确实让我困惑:我本以为{...}被改变了,但我最接近的猜测是{}暗示了一个元组,其中第一个元素不知何故未定义?这就是{...}的意思吗?如果是这样的话,这是Python中一个新的类型类别,我想给它取一个名称,这样我可以了解更多。在


Tags: 名称元素类型内容语义this字符类别
1条回答
网友
1楼 · 发布于 2024-03-29 01:33:34

这表明dict是递归的,即包含它自己。一个简单得多的例子:

>>> a = []
>>> a.append(a)
>>> a
[[...]]

这是一个列表,它的唯一元素是它本身。显然repr不能按字面意思打印,否则它将无限长;相反,内置类型会在发生这种情况时通知它,并使用...来表示自包含。在

因此,它不是一种特殊类型的值,只是普通的英语用法“…”表示“此处省略了某些内容”,加上大括号以表示省略的部分是dict。您还可以看到它带有括号的列表,如上图所示,或者偶尔会在元组中使用括号:

^{pr2}$

Python3提供了一些工具,因此您可以使用自己的对象来完成此操作,格式为^{}。在

相关问题 更多 >