微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决我想通过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 举报,一经查实,本站将立刻删除。