我想通过addAbility功能在self.privileges = ['check]中添加任意数量的参数有没有办法做到这一点?

问题描述

我创建了一个子类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 (将#修改为@)