回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我试图编写一个代码来显示对象User1的特权列表</p>
<pre><code>class User:
def __init__(self, f_name, l_name, age):
self.f_name = f_name
self.l_name = l_name
self.age = age
def describe(self):
print(f"The user {self.f_name} {self.l_name} has {self.age} years old person.")
def greet(self):
print(f"Hi {self.f_name}, you are the Administer right now!")
class Privileges:
def __init__(self, privileges):
self.privileges = ['add post', 'del post', 'ban users']
def show_privileges(self):
print(f"These are the Admin list of privileges: {self.privileges}.")
class Admin(User):
def __init__(self, f_name, l_name, age):
super().__init__(f_name, l_name, age)
self.privileges = Privileges()
user1 = Admin('Porco', 'Rosso', 42)
user1.privileges.show_privileges()
</code></pre>
<p>这是输出,但我找不到缺少的参数:</p>
<pre><code> Traceback (most recent call last):
File "C:\Users\Administrator\Desktop\python_work\teste34.py", line 25, in <module>
user1 = Admin('Porco', 'Rosso', 42)
File "C:\Users\Administrator\Desktop\python_work\teste34.py", line 23, in __init__
self.privileges = Privileges()
TypeError: __init__() missing 1 required positional argument: 'privileges'
[Finished in 0.433s]
</code></pre>
<p>我想用我以前做过的一个代码来补充,在这里不需要传递参数:</p>
<pre><code> class User:
def __init__(self, f_name, l_name, age):
self.f_name = f_name
self.l_name = l_name
self.age = age
def describe(self):
print(f"The user {self.f_name} {self.l_name} has {self.age} years old person.")
def greet(self):
print(f"Hi {self.f_name}, you are now the Admin!")
class Admin(User):
def __init__(self, f_name, l_name, age):
super().__init__(f_name, l_name, age)
self.privileges = ['add post', 'del post', 'ban users']
def show_privileges(self):
print(f"These are SysOp list of privileges: {self.privileges}.")
user1 = Admin('Porco', 'Rosso', 42)
user1.describe()
user1.greet()
user1.show_privileges()
</code></pre>