公告
财富商城
积分规则
提问
发文
2019-01-02 20:32发布
墨雨无痕
楼上正解,你需要看书再仔细一点
__init__可以理解为是类的构造函数,在类的实例创建后被立即调用,init前后都是两个下划线:" __init__",而你的代码里只有一个,这样你这个'_init_'就被认为是自己定义的函数,默认的__init__就没有声明你那些参数,因此初始化报错
class Car: def init(self,make,model,year): self.make = make self.model = model self.year = year def str(self): long_name = self.year + '' + self.make + self.model return long_name my_new_car = Car('aodi','a4','2016') print(my_new_car)
最多设置5个标签!
楼上正解,你需要看书再仔细一点
__init__可以理解为是类的构造函数,在类的实例创建后被立即调用,init前后都是两个下划线:" __init__",而你的代码里只有一个,这样你这个'_init_'就被认为是自己定义的函数,默认的__init__就没有声明你那些参数,因此初始化报错
class Car:
def init(self,make,model,year):
self.make = make
self.model = model
self.year = year
def str(self):
long_name = self.year + '' + self.make + self.model
return long_name
my_new_car = Car('aodi','a4','2016')
print(my_new_car)
需注意__init__前后是两个下划线(你的是一个下滑线)。还有如果没有__str__方法,用print打印只会是类名加地址,看不到结果的。用print打印需用__str__方法