我正在阅读 Dive into Python3 一书和以下示例。在第2章中,原生数据类型我正在尝试,就像在示例中创建列表中的列表一样。
a_list = ['a', 'b', 'mpilgrim', True, False, 42]
a_set = set(a_list)
a_set
但我得到TypeError
:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'set' object is not callable
有人可以帮我看看为什么吗?
答案 0 :(得分:5)
代码中的其他位置,在显示的行之上,您必须这样做:
set = {...}
# or
set = set(...)
这样做掩盖了具有用户定义名称的内置set
。因此,名称set
现在指的是集合实例,而不是类:
>>> set # Built-in
<class 'set'>
>>> set() # Is callable
set()
>>> set = {1, 2, 3} # Built-in is overshadowed
>>> set
{1, 2, 3}
>>> set() # Is no longer callable
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'set' object is not callable
>>>
您需要找到您执行此操作的位置并选择其他名称。