Ошибка типа: принимает 4 позиционных аргумента, но было дано 5

#python #oop

Вопрос:

Я пытался выполнить этот код. Это показывает эту ошибку

Ошибка типа: принимает 4 позиционных аргумента, но было дано 5

 class Car:  def __init__(self,make,model,year):  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 (mileagegt;= self.odometer_reading): # self.odometer_reading = mileage # else: # print("You can't roll back an odometer ")  #def increment_odometer(self): # self.odometer_reading  = miles  class ElectricCar(Car):  def __init__(self,make,model,year):  super().__init__(self,make,model,year)  self.battery_size =70   def describe_battery(self):  print("This car has a "   str(self.battery_size)  "kWh battery")   myTesla = ElectricCar('Tesla','model_s',2016)  print(myTesla.get_descriptive_name()) myTesla.describe_battery()  

Когда я попытался выполнить его, появилось следующее сообщение об ошибке

 Traceback (most recent call last):  File "C:UsersPredatorPycharmProjects456main.py", line 34, in lt;modulegt;  myTesla = ElectricCar('Tesla','model_s',2016)  File "C:UsersPredatorPycharmProjects456main.py", line 27, in __init__  super().__init__(self,make,model,year) TypeError: __init__() takes 4 positional arguments but 5 were given  Process finished with exit code 1  

Я попробовал несколько настроек, но ни одна из них не сработала. Пожалуйста, помогите мне в этой ситуации.

Комментарии:

1. в python 3 при вызове super().__init__() функции не передавайте self ей аргумент. В своем коде попробуйте сделать это super().__init__(make,model,year) в ElectricCar классе

2. Это хорошо сработало. Большое спасибо!