class Car:
# In your code, this constructor was not defined and hence you were getting the error
def __init__(self,name,year,model):
self.name = name
self.year_built = year
self.model = model
def __repr__(self):
return f'Car({self.name},{self.year_built},{self.model})'
# The below statement requires a constructor to initialize the object
c1 = Car('minicooper','1970','MX1')
#
print(c1)
2条答案
按热度按时间zlhcx6iw1#
您的程序缺少构造函数,因此出现错误。另外请注意,您可能引用的是
__repr__
而不是__rep__
。您的最终代码应该如下所示-输出:
__init__
在python中被用作构造函数,它被用来初始化对象的状态,构造函数的任务是在创建类的对象时初始化(赋值)类的数据成员,因此,当你在调用-Car('minicooper','1970','MX1')
中传递变量时,构造函数被调用,你没有构造函数,因此你会得到错误消息。__repr__(object)
用于返回一个字符串,该字符串包含对象的可打印表示形式。当您尝试打印该对象时将使用该字符串。您在代码中错误地将其称为__rep__
。我已在上面的代码中更正了它。希望这有帮助!
j9per5c42#
希望这能帮上忙。