报错描述Bettery缺失self

img

img

img


img

这个报错说Bettery缺失self,但是看不出来哪里缺失,是哪里写错了

img

可以给ElectricCar这个类的构造方法增加一个参数,用于传入一个Battery电池对象,来初始化ElectricCar类对象里的battery成员。

修改如下:


class Car:

    def __init__(self,make,model,years):

        self.make=make
        self.model=model
        self.years=years
        self.odometer_reading=0

    def get_descriptive_name(self):

        long_name=f"{self.years} {self.make} {self.model}"
        return long_name.title()

    def read_odometer(self):
        print(f"The car has {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 Battery:

    def __init__(self,battery_size=75):
        self.battery_size=battery_size

    def describe_battery(self):
        print(f"This car has a {self.battery_size}-KWh battery. ")

class ElectricCar(Car):

    # ElectricCar构造方法增加一个参数,用于传入Battery类对象
    # 来初始化ElectricCar类对象的battery成员
    def __init__(self,make,model,years,battery):
        super().__init__(make,model,years)
        self.battery=battery

    def describe_battery(self):
        print(f"This car has a {self.battery_size}-KWh battery. ")

ba = Battery(80)
my_tesla = ElectricCar('tesla', 'model s',2019,ba)
print(my_tesla.get_descriptive_name())
my_tesla.battery.describe_battery()
    


img