zzong2020 2021-11-19 15:43 采纳率: 80%
浏览 19
已结题

(类的继承)将类的实例作为属性引用时报错参数缺失要怎么修改?


class Users():
    
    def __init__(self,name):
        
        self.name=name
        self.login_attempts=0
        
    def increment_login_attempts(self):
        self.login_attempts+=1
        
    def reset_login_attempts(self):
        self.login_attempts=0
        
class Privileges():
    
    def __init__(self,name,privileges):
        
        self.privieges=privileges
        self.name=name
        
    def show_privileges(self):
        print(f'{self.name}的权限包括:'+','.join(self.privieges))
        
class Admin(Users):
    
    def __init__(self,name,privileges):
        super().__init__(name)
        self.privileges=Privileges()

privileges=['show_users','add_users','modify_users','delete_users']

admin_2=Admin('张涛',privileges)
admin_2.privileges.show_privileges()

我想实现的是把权限单独写一个类(不同岗位的人权限不一样),然后被Users的子类如Admin等等不同岗位类型的用户调用,打印相应人员的权限,要怎么实现呢?上面是我写的代码,从报错来看应该是缺少相应的参数传入,但是我不太知道应该怎么修改,还请各位大佬帮助,非常感谢!!!

  • 写回答

2条回答 默认 最新

  • 关注
    
    class Users:
        def __init__(self, name):
            self.name = name
            self.login_attempts = 0
    
        def increment_login_attempts(self):
            self.login_attempts += 1
    
        def reset_login_attempts(self):
            self.login_attempts = 0
    
    
    class Privileges:
        def __init__(self, name, privileges):
            self.privieges = privileges
            self.name = name
    
        def show_privileges(self):
            print(f'{self.name}的权限包括:' + ','.join(self.privieges))
    
    
    class Admin(Users):
        def __init__(self, name, privileges):
            super().__init__(name)
            self.privileges = Privileges(name, privileges)
    
    
    privileges = ['show_users', 'add_users', 'modify_users', 'delete_users']
    admin_2 = Admin('张涛', privileges)
    admin_2.privileges.show_privileges()
    

    但是目前看继承的父类没有发挥作用,不太清楚你继承的父类是想做什么功能。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月27日
  • 已采纳回答 11月19日
  • 创建了问题 11月19日

悬赏问题

  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘