类4-导入类

i_car.py:

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
    
    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 increase_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 full charge."
        print(message)
    
class ElectricCar(Car):
    def __init__(self, make, model, year):
        super().__init__(make, model, year)
        self.battery = Battery()
    

i_car2.py:

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
    
    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 increase_odometer(self, miles):
        self.odometer_reading += miles

i_electriccar2.py:

from i_car import Car

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 full charge."
        print(message)
    
class ElectricCar(Car):
    def __init__(self, make, model, year):
        super().__init__(make, model, year)
        self.battery = Battery()

classD.py:

# from i_car import Car

# my_new_car = Car("Audi", "a4", 2016)
# print(my_new_car.get_descriptive_name())
# my_new_car.odometer_reading = 23
# my_new_car.read_odometer()

# from i_car import ElectricCar
 
# my_tesla = ElectricCar("tesla", "model s", 2016)
# print(my_tesla.get_descriptive_name())
# my_tesla.battery.describe_battery()
# my_tesla.battery.get_range()

# from i_car import Car,ElectricCar

# my_beetle = Car("volkswagen", "beetle", 2016)
# print(my_beetle.get_descriptive_name())
# my_tesla = ElectricCar("tesla", "roadster", 2016)
# print(my_tesla.get_descriptive_name())

# import i_car
# my_beetle = i_car.Car("volkswagen", "beetle", 2016)
# print(my_beetle.get_descriptive_name())
# my_tesla = i_car.ElectricCar("tesla", "roadster", 2016)
# print(my_tesla.get_descriptive_name())

# from i_car import *
# my_beetle = Car("volkswagen", "beetle", 2016)
# print(my_beetle.get_descriptive_name())
# my_tesla = ElectricCar("tesla", "roadster", 2016)
# print(my_tesla.get_descriptive_name())

from i_car2 import Car
from i_electriccar2 import ElectricCar

my_beetle = Car("volkswagen", "beetle", 2016)
print(my_beetle.get_descriptive_name())
my_tesla = ElectricCar("tesla", "roadster", 2016)
print(my_tesla.get_descriptive_name())

练习:

i_restaurant.py:

class Restaurant():
    def __init__(self, restaurant_name, cuisine_type):
        self.name = restaurant_name
        self.type = cuisine_type
    
    def describe_restaurant(self):
        print("name:"+self.name)
        print("type:"+self.type)
    
    def open_restaurant(self):
        print("status:open")

i_user.py:



class User():
    def __init__(self, first_name, last_name):
        self.firstname = first_name
        self.lastname = last_name
    
    def describe_user(self):
        print("first name:"+self.firstname)
        print("last name:"+self.lastname)
    
    def greet_user(self):
        print("hello, "+self.firstname.title()+" " + self.lastname.title())

class Privileges():
    def __init__(self):
        self.privileges = ["can add post", "can delete post", "can ban user"]
    
    def show_privileges(self):
        print(self.privileges)

class Admin(User):
    def __init__(self, first_name, last_name):
        super().__init__(first_name, last_name)
        self.privileges = Privileges()

i_user2.py:

class User():
    def __init__(self, first_name, last_name):
        self.firstname = first_name
        self.lastname = last_name
    
    def describe_user(self):
        print("first name:"+self.firstname)
        print("last name:"+self.lastname)
    
    def greet_user(self):
        print("hello, "+self.firstname.title()+" " + self.lastname.title())

i_admin.py:

from i_user2 import *

class Privileges():
    def __init__(self):
        self.privileges = ["can add post", "can delete post", "can ban user"]
    
    def show_privileges(self):
        print(self.privileges)

class Admin(User):
    def __init__(self, first_name, last_name):
        super().__init__(first_name, last_name)
        self.privileges = Privileges()

classD_p.py:

# from i_restaurant import Restaurant

# kfc = Restaurant("KFC", "fast food")
# kfc.describe_restaurant()

# from i_user import *
# admin = Admin("Piao", "Yongyou")
# admin.privileges.show_privileges()

from i_admin import *
admin = Admin("Piao", "Yongyou")
admin.privileges.show_privileges()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值