gpt4 book ai didi

javascript - 为什么 python 不允许将未绑定(bind)的标识符用作字典键?

转载 作者:行者123 更新时间:2023-11-28 20:55:00 25 4
gpt4 key购买 nike

在 python 中,我可以使用任何对象作为字典键(7、“hello”、None):

例如

myDict = {}
x = someObject()
myDict[x] = "world"

但我不能使用未绑定(bind)的标识符。给出另一种语言的例子,其中标识符成为对象的属性(JavaScript)

x = { y : "hello" };

为什么不支持使用未绑​​定标识符作为键?在字典范围或封闭范围内定义此绑定(bind)不是很简单吗?

最佳答案

在 Python 中,对象字面量中的键是被计算的表达式。如果您尝试使用一个未赋值的变量,它会得到一个错误,就像在任何其他使用该变量时一样。

在 JavaScript 中,默认情况下不评估对象字面量中的键。当你写作时

{j: "hello"}

它被当作

{"j": "hello"}

j 是否有值并不重要,它始终被视为文字。

仅供引用,EcmaScript 6 添加了一种使用方括号计算 key 的方法。具有可变键的 Python 字典的等价物是:

{ [j]: "hello" }

如果未声明变量,这将出错。

关于javascript - 为什么 python 不允许将未绑定(bind)的标识符用作字典键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57876471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com