不知道为什么这儿会显示没有参数,我是对照书上写得,对了,用python3.7.0写的

2019-01-02 20:39发布

问题:

回答1:

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__方法



回答2:

__init__可以理解为是类的构造函数,在类的实例创建后被立即调用,init前后都是两个下划线:" __init__",而你的代码里只有一个,这样你这个'_init_'就被认为是自己定义的函数,默认的__init__就没有声明你那些参数,因此初始化报错



回答3:

楼上正解,你需要看书再仔细一点



标签: