【发布时间】:2011-05-08 14:55:26
【问题描述】:
纯粹出于好奇而提出的问题。这显然是无效的语法:
foo = {}
foo['bar': 'baz']
很明显发生了什么,开发人员从字典定义中移出了一行,但没有将其从字面字典声明更改为赋值语法(因此被适当地模拟了)。
但我的问题是,为什么 Python 在这里提出 TypeError: unhashable type 而不是 SyntaxError?它试图散列什么类型?只是这样做:
'bar': 'baz'
是一个 SyntaxError,如下所示:
['bar': 'baz']
所以我看不到正在创建的不可散列的类型。
【问题讨论】:
标签: python