编写一个名为Privileges 的类,它只有一个属性——privileges ,其中存储了练习9-7 所说的字符串列表。将方法show_privileges() 移到这 个类中。在Admin 类中,将一个Privileges 实例用作其属性。创建一个Admin 实例,并使用方法show_privileges() 来显示其权限。
class User:
def __init__(self, first_name, last_name, age):
self.first_name = first_name
self.last_name = last_name
self.age = age
self.full_name = ''
self.login_attempts = 0
def describe_user(self):
self.full_name = self.first_name.title() + " " + self.last_name.title()
print(self.full_name)
print(self.full_name + " is "+str(self.age)+" years old.")
def greet_users(self):
print(self.full_name+" nice to meet you!")
def increment_login_attempts(self):
for index in range(1, 10):
self.login_attempts += 1
print(self.login_attempts)
def reset_login_attempts(self):
self.login_attempts = 0
class Privileges:
def __init__(self, privileges=[]):
self.privileges = privileges
def show_privileges(self):
print("The privileges are shown below:")
for privilege in self.privileges:
print(privilege)
class Admin(User):
def __init__(self, first_name, last_name, age):
super().__init__(first_name, last_name, age)
self.gains = Privileges()
user1 = Admin('zhang', 'san', 18)
user1.gains.privileges = ['can add post', 'can delete post', 'can ban user']
user1.gains.show_privileges()