python//Jan.17th,2020//导入类

Jan.17th,2020
##导入类

#导入单个类
#from car import Car
#my_new_car=Car('audi','a4',2016)
#print(my_new_car.get_deseriptive_name())
#
#my_new_car.odometer_reading=23
#my_new_car.read_odometer()

#导入整个模块
#import car
#my_new_car=car.Car('audi','a4',2016)    # 区分上面
#print(my_new_car.get_deseriptive_name())
#my_new_car.odometer_reading=23
#my_new_car.read_odometer()
#
#my_beetle=car.Car('volkswagen','beetle',2016)#
#my_tesla=car.ElectricCar('tesla','roadster',2016)

##导入模块中的所有类
#from car import *
##不推荐使用这种导入方式

#在一个模块中导入另一个模块
#有时候,需要将类分散到多个模块中,以免模块太大,或在同一个模块中存储不同的类

#pytho标准库
#略
#car.py
class Car():
    def __init__(self,make,model,year):
        self.make=make
        self.model=model
        self.year=year
        self.odometer_reading=0    #odometer 里程表; 计程仪
    def get_deseriptive_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 updata_odometer(self,mileage):
        if mileage>=self.odometer_reading:
            self.odometer_reading=mileage
        else:
            print("You can't roll back an odometer!")    #roll back 逐渐减少
    def incrent_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   #电瓶容量为70kwh,续航里程设置为240英里
        elif self.battery_size==85:
            range=270   #电瓶容量为85kwh,续航里程设置为270英里
        message="This car can go approximately "+str(range)
        message+=" mile on a full charge."
        print(message)
class ElectricCar(Car):
    """电动车的独特之处"""
    def __init__(self,make,model,year):
        super().__init__(make,model,year)
        self.battery=Battery()


发布了38 篇原创文章 · 获赞 2 · 访问量 1169

猜你喜欢

转载自blog.csdn.net/weixin_44811068/article/details/104023848