我正在尝试创建一个类。但是在运行代码时出现此错误:
TypeError:Car()不接受任何参数。
class Car:
def __rep__(self):
return f'Car({self.name},{self.year_built},{self.model})'
c1 = Car('minicooper','1970','MX1')
答案 0 :(得分:0)
class Car:
# Constructor
def __init__(self, name, year_built, model):
self.name = name
self.year_built = year_built
self.model = model
def __repr__(self):
return f'Car({self.name},{self.year_built},{self.model})'
c1 = Car('minicooper','1970','MX1')
我希望这会有所帮助。
答案 1 :(得分:0)
您的程序缺少构造函数,因此出错。另请注意,您可能指的是__repr__
,而不是__rep__
。您的最终代码应如下所示-
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)
输出:
>>> Car(minicooper,1970,MX1)
__init__
在python中用作构造函数。用于初始化对象的状态。构造函数的任务是在创建类的对象时向类的数据成员初始化(分配值)。因此,当您在调用-Car('minicooper','1970','MX1')
中传递变量时,将调用构造函数。您没有构造函数,因此收到错误消息。
__repr__(object)
用于返回包含对象的可打印表示形式的字符串。尝试打印对象时将使用它。您在代码中错误地将其称为__rep__
。我已经在上面的代码中对其进行了纠正。
希望这会有所帮助!