关于#python#的问题:

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 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=70):
    """初始化电瓶的属性"""
    self.battery_size = battery_size

def describe_battery(self):
    """打印一条描述电瓶容量的消息"""
    print("This car has a " + str(self.battery_size) + "-kWh battery.")
def get_range(self):

    """打印一条描述电瓶续航里程的消息"""

    if self.battery_size == 70:
        range = 240
    elif self.battery_size == 85:
        range = 270
    message = "This car can go approximately " + str(range)
    message += " miles on a full charge."
    print(message)

class ElectricCar(Car):

"""模拟电动汽车的独特之处"""

def __init__(self, make, model, year):
    """ 初始化父类的属性,再初始化电动汽车特有的属性
    """
    super().__init__(make, model, year)
    self.battery = Battery()

这两行代码中self.battert = Battery()是不是也是继承 可以给一点系统的解释吗 不太明白 如果是继承的话把上面哪个super去掉他也可以继承吗 继承不是前面需要加上super.()吗
super().init(make, model, year)
self.battery = Battery()

self.battery = Battery()
这是实例化呀
实例化一个Battery类型的对象,存放到self.battery这个字段里
你的电动车是继承自汽车的,但是电池和汽车之间没有继承关系
电动车里面实例化了一个电池对象而已

继承首先要在定义子类的时候,括号里写上父类的名字,比如:
class ElectricCar(Car):
ElectricCar就是Car的子类,可以继承父类Car的方法和属性。
super().__init__(make, model, year)
这里的super()就是继承父类Car的初始化方法,使自己也拥有父类Car的那些属性,相当于:

    self.make = make
    self.model = model
    self.year = year
    self.odometer_reading = 0

super()里隐式传参self,所以后面的参数只要写父类Car需要的参数即可。

self.battery = Battery() 是创建一个Battery类,和继承没关系