回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个名为<code>im.py</code>的文件,它包含几个函数和几个类。第一个函数和类因</p>
<pre><code>TypeError: 'list' object is not callable
</code></pre>
<p>问题似乎是函数中创建的列表的第一个元素,然后传递给类。大多数列表可以由类处理,但第一个元素不能。转换到类名空间似乎是个问题:</p>
^{pr2}$
<p>在交互式会话中,所有功能都很好:</p>
<pre><code>>>> from im import *
>>> a = getdata_user()
>>> print(a)
['fred', [4, 24, 27, 30, 46, 109, 125, 1000], '/home/fred']
>>> print(a[0])
jreese
>>> print(a[1])
[4, 24, 27, 30, 46, 109, 125, 1000]
>>> print(a[2])
/home/fred
</code></pre>
<p>但在课堂上:</p>
<pre><code>>>> b = FirstClass()
>>> b.setdata_user()
>>> print(b.home())
/home/jreese
>>> print(b.gids())
[4, 24, 27, 30, 46, 109, 125, 1000]
>>> print(b.user())
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'list' object is not callable
</code></pre>
<p>所以,简单回顾一下:</p>
<pre><code>>>> type(b.user())
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'list' object is not callable
>>> type(a[0])
<class 'str'>
</code></pre>
<p>所以问题很明显。我只是不知道类转换是如何屏蔽列表的第一个元素。有什么想法吗?在</p>