版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
部分源代码:
报错:
TypeError: can only concatenate str (not “list”) to str
类型错误:只能连接str(不是“列表”)到str
debug操作:str()类型转换
全部源代码:
"""
管理员是一种特殊的用户。编写一个名为Admin 的类,
让它继承你为完成练习9-3或练习9-5而编写的User 类。添加一个名为privileges 的属性,用
于存储一个由字符串(如"可以添加文章" 、"can delete post" 、"可以禁止用户" 等)组成的列表。
编写一个名为show_privileges() 的方法,它显示管理员的权限。创建一个Admin 实例,并调用这个方法
"""
class User:
"""表示一个简单的用户配置文件。"""
def __init__(self, first_name, last_name, username, email, location): # location表位置
"""初始化用户"""
self.first_name = first_name
self.last_name = last_name
self.username = username
self.email = email
self.location = location
self.login_attemps = 0
def describe_user(self):
"""显示用户信息的摘要"""
print("\n" + self.first_name + " " + self.last_name)
print(" Username: " + self.username)
print(" Email: " + self.email)
print(" Location: " + self.location)
def greet_user(self):
"""向用户显示个性化的问候"""
print("\n Welcome back, " + self.username + "!")
def increment_login_attmpts(self):
"""增加登录尝试的值"""
pass
def reset_login_attempts(self):
"""重置登录尝试为0"""
pass
class Admin(User):
"""具有管理权限的用户。"""
def __init__(self, first_name, last_name, username, email, location):
# super()
"""初始化管理。"""
super().__init__(first_name, last_name, username, email, location)
self.privileges = []
# privileges表示权力
def show_privileges(self):
"""显示此管理员拥有的特权"""
print("管理员的权力有:" + str(self.privileges))
shi_li = Admin("杨", "钱生", "Administrator", "[email protected]", "上海")
shi_li.privileges = ["可新建文件","可删除用户","可以禁止用户的权限"]
shi_li.describe_user()
shi_li.show_privileges()