【发布时间】:2021-10-31 22:04:47
【问题描述】:
似乎只能使用frozenset() 构造函数创建frozenset。
这是真的还是有文字方式来创建一个冻结集?我找不到任何证据in the docs
【问题讨论】:
-
frozenset没有文字,是的。 -
这很遗憾,因为我认为没有任何特殊原因无法扩展语法以允许类似于字符串文字支持的前缀。
f{1, 2, 3}可以是frozenset文字。它不会与任何现有语法冲突。 -
我猜 freezesets 的使用不够普遍,以至于需要文字语法(当然这是先有鸡还是先有蛋的情况)。至于像
f{1, 2, 3}这样的语法,我认为没有技术问题,但是f的含义将与f"..."中的含义完全不同。一个不需要新语法的解决方案可能是让集合具有一个只读的.frozen属性,该属性返回frozenset(self),并且编译器可以对{1, 2, 3}.frozen之类的表达式有一个特殊情况,将它们编译为frozenset常量。 -
出于某种原因,我认为它会是
`{1, 2, 3} -
⛄️{1, 2, 3}...