【问题标题】:Getting the TypeError: 'list' object is not callable in Python获取 TypeError:'list' 对象在 Python 中不可调用
【发布时间】:2021-03-31 20:37:18
【问题描述】:
class Student:
  def __init__(self,first,last,id):
    self._first_name = first
    self._last_name = last
    self._id_number = id
    self._enrolled_in = []

  def enroll_in_course(self,course):
    self._enrolled_in.append(course)
    return self._enrolled_in()

s1 = Student("kathy","lor","323232")

s1.enroll_in_course("hello")

print(s1._enrolled_in)

在上面的代码中,我得到的错误是:

回溯(最近一次通话最后一次):
文件“main.py”,第 14 行,在 s1.enroll_in_course("hello") 文件“main.py”,第 10 行,在enroll_in_course 返回 self._enrolled_in() TypeError: 'list' 对象不可调用

我正在尝试解决该错误,但无法解决。谁能帮帮我。

【问题讨论】:

  • 我想你的意思是在第 9 行使用_enrolled_in
  • 我已经纠正了这个小错误。 @Adithya
  • 您现在必须提出新问题才能解决另一个错误。

标签: python


【解决方案1】:

您已定义 self._enrolled_in,但您将其添加到 self.enrolled_in

错过了下划线 (self._enrolled_in.append)

【讨论】:

    【解决方案2】:

    您在__init__() 方法中调用了属性_enrolled_in。在enroll_in_course() 方法中,您尝试附加到不存在的enrolled_in。所以尝试在前面添加下划线。

    【讨论】:

      【解决方案3】:

      您在附加语句中缺少_。你应该在你的enroll_in_course 方法上写self._enrolled_in.append(course)

      【讨论】:

        猜你喜欢
        • 2015-09-14
        • 2012-04-21
        • 2014-06-13
        • 1970-01-01
        • 2015-11-11
        • 2019-04-02
        • 2021-03-30
        • 1970-01-01
        相关资源
        最近更新 更多