zoukankan      html  css  js  c++  java
  • 类——导入模块示例——导入类的几种方法

    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('汽车有油箱')
    
    #----------------------------------------------------------------------
    #--------------------------------------------------------------------
    #------------------------------------------------------------------
    
    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,ElectricCar   #导入模块中的多个类
    # import car                      #导入整个模块
    # from car import *             #导入模块中的所有类
    
    
    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

  • 相关阅读:
    java控制台输入
    冒泡排序
    选择排序
    Json数组去重
    HTTP状态码详解
    根据json对象的值替换json数组里的值
    用户中心页面
    正则表达式
    vue-router如何根据不同的用户给不同的权限
    vue2.0+element+node+webpack搭建的一个简单的后台管理界面
  • 原文地址:https://www.cnblogs.com/xiaobaibailongma/p/12061810.html
Copyright © 2011-2022 走看看