9-8 权限 、9-9 电瓶升级 : 在本节最后一个electric_car.py版本中, 给Battery 类添加一个名为upgrade_battery()

本文介绍了如何在Python中创建一个Privileges类来管理权限,包括显示权限的方法,并将其应用于Admin类。此外,还展示了在ElectricCar类的Battery子类中实现电瓶升级功能,通过upgrade_battery()方法自动提升电瓶容量,从而增加电动汽车的续航里程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

9-8 权限 : 编写一个名为Privileges 的类, 它只有一个属性——privileges , 其中存储了练习9-7 所说的字符串列表。 将方法show_privileges() 移到这
个类中。 在Admin 类中, 将一个Privileges 实例用作其属性。 创建一个Admin 实例, 并使用方法show_privileges() 来显示其权限。

class User():
    """Represent a simple user profile."""

    def __init__(self, first_name, last_name, username, email, location):
        """Initialize the user."""
        self.first_name = first_name.title()
        self.last_name = last_name.title()
        self.username = username
        self.email = email
        self.location = location.title()
        self.login_attempts = 0

    def describe_user(self):
        """Display a summary of the user's information."""
        print("\n" + self.first_name + " " + self.last_name)
        print("  Username: " + self.username)
        print("  Email: " + self.email)
        print("  Location: " + self.location)

    def greet_user(self):
        """Display a personalized greeting to the user."""
        print
这段代码存在两个问题: 1.ElectricCar中的fill_gas_tank()方法中,缺少self参数。应该将方法定义修改为:`def fill_gas_tank(self):` 2. 最后两行代码的缩进存在问题。应该将它们缩进到与定义相同的层级。 以下是修改后的代码: ``` 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.title() 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 increment_odometer(self, miles): self.odometer_reading += miles class ElectricCar(Car): """电动汽车的独特之处""" def __init__(self,make,model,year): """初始化父的属性,再初始化电动汽车特有的属性""" super().__init__(make,model,year) self.battery_size = 70 def fill_gas_tank(self): """电动汽车没有油箱""" print("This car doesn't need a gas tank!") def describe_battery(self): """打印一条描述电瓶容量的消息""" print("This car has a " + str(self.battery_size) + "-KWh battery.") my_tesla = ElectricCar('tesla','model s',2016) print(my_tesla.get_descriptive_name()) my_tesla.describe_battery() my_tesla.fill_gas_tank() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值