gpt4 book ai didi

python - 为什么 Python 会引发 TypeError 而不是 SyntaxError?

转载 作者:IT老高 更新时间:2023-10-28 21:43:59 24 4
gpt4 key购买 nike

纯粹出于好奇而提出的问题。这显然是无效的语法:

foo = {}
foo['bar': 'baz']

很明显发生了什么,开发人员从字典定义中移出了一行,但没有将其从字面字典声明更改为赋值语法(因此被适本地模拟了)。

但我的问题是,为什么 Python 会在这里引发 TypeError: unhashable type 而不是 SyntaxError?它试图散列什么类型?只是这样做:

'bar': 'baz'

是一个 SyntaxError,如下所示:

['bar': 'baz']

所以我看不到正在创建的不可散列的类型。

最佳答案

在索引操作中使用冒号 generates a slice object ,这是不可哈希的。

关于python - 为什么 Python 会引发 TypeError 而不是 SyntaxError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4157278/

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