9-7 管理员
1. 项目
管理员是一种特殊的用户。编写一个名为 Admin 的类,让它继承你为完成练习 9-3 或练习 9-5 而编写的 User 类。
添加一个名为 privileges 的属性,用于存储一个由字符串(如"can add post"、 "can delete post"、 "can ban user"等)组成的列表。
编写一个名为 show_privileges()的方法,它显示管理员的权限。创建一个 Admin实例,并调用这个方法。
2. 代码
class User(): """初始化用户属性""" def __init__(self, first_name, last_name, age, profession, login_attempts): self.first_name = first_name self.last_name = last_name self.age = age self.profession = profession """添加尝试登录次数属性""" self.login_attempts = login_attempts def describe_user(self): """用户信息描述方法""" print("User information: " + "\n" + self.first_name.title() + "." + self.last_name + "\n" + str(self.age) + "\n" + self.profession + ".") def greet_user(self): """创建问候方法""" print("Hello, " + self.first_name.title() + "." + self.last_name + ", welcome to ShangHai.\n") def increment_login_attempts(self): """尝试登录次数的增量方法""" self.login_attempts += 1 print(self.login_attempts) def reset_login_attempts(self): """重置登录次数方法""" self.login_attempts = 0 print(self.login_attempts) privileges = ("can add post", "can delete post", "can ban user") class Admin(User): """初始化子类属性""" def __init__(self, first_name, last_name, age, profession, login_attempts): """继承父类属性""" super().__init__(first_name, last_name, age, profession, login_attempts) """添加privileges属性""" self.privileges = privileges """创建方法""" def show_privileges(self): print(privileges) admin = Admin('kevin', 'hou', 30, 'EE', 1) admin.show_privileges()
3. 执行结果
('can add post', 'can delete post', 'can ban user')