类——导入模块示例——在一个模块中导入另外一个模块

car.py

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))


    def fill_gas_tank(self):
        '''汽车油箱'''

        print('汽车有油箱')
electric_car.py

from car import Car

class Battery():
    '''模拟电动车电瓶'''

    def __init__(self,battery_size):
               '''初始化电瓶的属性'''
               self.battery_size = battery_size


    def describe_battery(self):
        '''打印一条描述电瓶容量的信息'''

        print('这辆电动车有: ' + str(self.battery_size) + ' 的电瓶容量')


    def fill_gas_tank(self):               #重写父类的方法
        '''电动车有电瓶'''

        print('汽车有电瓶')


    def get_rang(self):

        print('这辆车的行驶距离是:  ' + str(self.battery_size*3))
#----------------------------------------------------------------------
#----------------------------------------------------------------------
#------------------------------------------------------------------

class ElectricCar(Car):
    '''电动车的独特之处'''

    def __init__(self,make,model,year):
        '''初始化父类属性'''
        super().__init__(make,model,year)

        self.battery = Battery(100)

my_cars.py

from car import  Car
from electric_car import ElectricCar


my_beetle = Car('fengtian','beetle',2011)
print(my_beetle.get_descriptive_name())

#--------------------------------------------------------

my_tesla = ElectricCar('特斯拉','model  s ',2016)

print(my_tesla.get_descriptive_name())


my_tesla.battery.fill_gas_tank()

my_tesla.battery.describe_battery()

my_tesla.battery.get_rang()

 

执行结果:

 

2011 Fengtian Beetle

 

 

 


2016 特斯拉 Model S


汽车有电瓶


这辆电动车有: 100 的电瓶容量


这辆车的行驶距离是: 300

posted @ 2019-12-18 20:10  小白龙白龙马  阅读(441)  评论(0编辑  收藏  举报