问题描述
我创建了一个子类Privileges()
,并在该子类中创建了addAbility()
功能,
会向self.privileges = ['check']
子类添加一个默认值为Privileges()
的特权。
效果很好,但是当我使用addAbility()
函数添加两个特权时,出现以下错误消息-> TypeError: addAbility() takes 2 positional arguments but 3 were given
所以我尝试了->
def addAbility(self,ability):
self.privileges.append(ability)
但是随后我收到-> TypeError: can only concatenate str (not "tuple") to str
那么,如果我不想传递列表,该如何使addAbility()
接受多个参数?
class Privileges():
def __init__(self):
self.privileges = ['check']
**def addAbility(self,ability):
self.privileges.append(ability)**
def get_privileges(self):
print("The user has following privileges:")
for privilege in self.privileges:
print("- " + privilege)
class Admin(User):
def __init__(self,name,username,email):
super().__init__(name,email)
self.privileges = Privileges()
mimic = Admin('mimic','mimic007','mimic05@gmail.com')
# mimic.privileges.privileges = ['can post','can ban user','can delete post']
*mimic.privileges.addAbility('can live stream','can update banner')
mimic.privileges.get_privileges()*
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)