如何在子类Python中添加属性/方法[关闭]

问题描述 投票:-2回答:2

我需要创建从Admin继承的类User,并添加属性privileges并保存字符串列表和写入方法show_privileges()以打印privilegesAdmin列表,从而为Admin创建继承。

class User():
      def __init__(self, name, surname, age):
        self.name = name
        self.surname = surname
        self.age = age
      def greeting(self):
        print('Hello ' + self.name + ' ' + self.surname + 
        ' with the age of ' + str(self.age))

class Admin(User):
   def __init__(self, name, surname, age, privileges):
     super().__init__(name, surname, age)
     self.privileges = ['add messages', 'delete user', 'block user']
   def show_priviledges(self):
     print('Admin can: ')
     i = 1
     for privilage in self.privileges:
       print(str(i) + ')' + privilage.title())
       i += 1

user_1 = Admin('Oksi', 'Shukh', 22)
user_1.show_priviledges()

我在终端中遇到这样的错误:

Traceback (most recent call last):
  File "main.py", line 21, in <module>
     user_1 = Admin('Oksi', 'Shukh', 22)
TypeError: __init__() missing 1 required positional argument: 'privileges'
python inheritance subclass
2个回答
1
投票

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.