我不知道我做错了什么。Python 一直告诉我,即使我已经提供了它,我仍然缺少 3 个位置参数

  • 本文关键字:位置 参数 错了 Python 我不知道 python-3.x
  • 更新时间 :
  • 英文 :


我是编程新手,所以我真的不知道我在这方面搞砸了。任何线索都将不胜感激。

class User:
def __init__(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name
def describe_user(self):
print(f"My name is {self.first_name.title()} {self.last_name.title()}")
def greet(self):
print(f"Welcome {self.first_name.title()} {self.last_name.title()}")
class Privileges:
def __init__(self, CanBanUser, CanDeletePost, CanAddPost):
self.canbanuser = CanBanUser
self.candeletepost = CanDeletePost
self.canaddpost = CanAddPost
class Admin(User):
def __init__(self, first_name, last_name):
super().__init__(first_name, last_name)
self.privileges = Privileges()
def print(self):
print(f"{self.first_name.title()} {self.last_name.title()}n Can Ban User: {self.privileges.canbanuser}"
f"nCan delete post: {self.privileges.candeletepost}n Can add post: {self.privileges.canaddpost}.")
priv = Privileges('Yes', 'Yes2', 'Yes3')
cla = Admin('Jan Lancelot', 'Mailig')
cla.print()

在第19行中,您正在实例化Privileges(),但没有传递3个必需的参数。

self.privileges = Privileges()

如果要使用上面创建的Privileges()实例(priv = Privileges('Yes', 'Yes2', 'Yes3')(,则需要使Admin能够接受构造函数中Privilege类的对象,即

class Admin(User):
def __init__(self, first_name, last_name, privileges):
super().__init__(first_name, last_name)
self.privileges = privileges # of type Privileges

最新更新