今天在学python的类与继承的时候遇到一个错误,原来是自己在ctrl+c ctrl+v的时候漏了一个括号
class Car():
def __init__(self,make,year,model):
self.make=make
self.model=model
self.year=year
self.odometer_reading=0
def get_descriptive_name(self):
long_name=str(self.year)+" "+self.make+" "+self.model
return long_name.title()
def read_odometer(self):
print("This car has "+str(self.odometer_reading)+"miles on it") def update_odometer(self,mileage):
if mileage>=self.odometer_reading:
self.odometer_reading=mileage
else:
print("You can't roll back an odometer")
def increment_odometer(self,miles):
self.odometer_reading+=miles
class ElectricCar(Car):
def __init__(self,make,model,year):
super.__init__(make,year,model)
my_tesla=ElectricCar('tesla','model s',2016)
print(my_tesla.get_descriptive_name())
运行时出现了以下的错误
super.__init__(make,year,model)
TypeError: descriptor '__init__' requires a 'super' object but received a 'str'
原来是22行的super()那里少了一个括号。