class Car(): '''一次模拟汽车的简单尝试''' def __init__(self,make,model,year): '''初始化描述汽车的属性:制造商、型号、生产年份''' self.make = make self.model = model self.year = year self.odometer_reading = 24 #里程表读数 def update_odometer(self,mileage): #修改属性值 '''将里程表读数设置为指定的值''' self.odometer_reading += mileage def get_descriptive_name(self): '''返回整洁的描述信息''' long_name = str(self.year) + ' ' + self.make + ' ' + self.model return long_name.title() def read_odometer(self): '''打印一条指出汽车里程的信息''' print('这辆车的汽车里程是: ' + str(self.odometer_reading)) #-------------------------------------------------------------------- class ElectricCar(Car): '''电动车的独特之处''' def __init__(self,make,model,year): '''初始化父类属性''' super().__init__(make,model,year) self.battery_size = 70 #添加一个电动车特有的属性:电瓶,以及电瓶容量 def describe_battery(self): '''打印一条描述电瓶容量的信息''' print('这辆电动车有: ' + str(self.battery_size) + ' 的电瓶容量') my_tesla = ElectricCar('特斯拉','model s ',2016) print(my_tesla.get_descriptive_name()) #------------------------------------------------------- my_tesla.read_odometer() my_tesla.describe_battery() #------------------------------------------------- my_tesla.battery_size = 100 my_tesla.describe_battery() =================================================================== 执行结果: 2016 特斯拉 Model S 这辆车的汽车里程是: 24 这辆电动车有: 70 的电瓶容量 这辆电动车有: 100 的电瓶容量 ======================================================================== 创建子类时,父类必须包含在当前文件中,且位于子类前面。 定义子类时,必须在括号内指定父类名称。 方法_init_接收创建Car实例所需的信息。 super()是一个特殊的函数,帮助python把父类和子类关联起来。 ——让python调用ElectricCar的父类方法的_init_,让ElectricCar实例包含父类的所有属性, 父类也称之为超类,super因此得名;