python蟒蛇书第9章课后题


class Car:
    """一次模拟汽车的简单尝试"""

    def __init__(self,make,model,year):
        """初始化汽车的属性"""
        self.make = make
        self.model = model
        self.year = year
        self.odometer_reading = 0
    def fill_gas_tank(self):
        """说明油箱容量"""
        self.fill_gas_tank = 10
        return self.fill_gas_tank
    def get_decripitive_name(self):
        """返回格式规范的汽车描述性名称"""
        long_name = f"{self.year} {self.make} {self.model}"
        return long_name.title()
 
class Battery:
    """模拟电动汽车的实验"""
    def __init__(self,battery_size = 40):
        self.battery_size = battery_size
    def describe_battery(self):
        """打印一条描述电池容量的信息"""
        print(f"This car has a {self.battery_size}-KWh battery.")
    def get_range(self):  
        ”“”根据电池容量描述续航里程“”“
        if self.battery_size == 40:
            range = 150
        elif self.battery_size == 60:
            range =225
        print(f"This car can go about {range} miles on a full charge")

class ElectricCar(Car):
    """一款独特的电动汽车"""
    def __init__(self,make,model,year):
        """初始化父类"""
        super().__init__(make,model,year)
        self.battery = Battery()
    def fill_gas_tank(self):
        """指出电动汽车没有油箱"""
        print(f"This car doesn't has a gas tank!")

    
my_laef = ElectricCar('nissan','leaf','204')
print(my_laef.get_decripitive_name())
my_laef.battery.describe_battery()
my_laef.fill_gas_tank()
my_laef.battery.get_range()

my_old = Car('Benz','silver_goster','2023')
print(my_old.get_decripitive_name())

1.要描述一家汽车制造商的整条产品线,也许应该将get_range()方法移到ElectricCar类中,如此get_range()依然可以根据电池容量来确定续航里程,但报告的是一款汽车的续航里程。 问:如何理解,具体要如何编写?
2.也可以将get_range()方法留在battery类中,向它传递一个参数,car_model 问:具体如何编写?

【以下回答由 GPT 生成】

对于这段代码,我想要对它的性能进行优化。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^