这是代码,何时需要运行它。错误提示您“缺少1个必需的位置参数:'self'”
class Performer:
def __init__(self, FirstName, LastName, StageName, SecondaryRole, Type):
self.FirstName = FirstName
self.LastName = LastName
self.StageName = StageName
self.SecondaryRole = SecondaryRole
self.PerfType = Type
def EditSecondaryRole(self, NewRole):
self.SecondaryRole = NewRole
def EditStageName(self, NewStageName):
self.StageName = NewStageName
class Acrobat(Performer):
def __init__(self, UseFire):
super().__init__()
self.UseFire = UseFire
def PerformerInfo(self):
ReturnString = print(self.FirstName + "Superstar (real name" + self.FirstName + self.LastName + ") is an acrobat.")
if self.UseFire == True:
print("Fire is part of" + self.FirstName + "Superstar's act.")
else:
self.UseFire == False
print("Fire is not a part of" + self.FirstName + "Superstar's act.")
print("When not performing, " + FirstName + "Superstar is a set changer")
class Clown(Performer):
pass
class Aerial(Performer):
pass
Acrobat.PerformerInfo()
答案 0 :(得分:0)
您可以将Acrobat.PerformerInfo()
更改为Acrobat().PerformerInfo()
,因为Acrobat是一种类型,而不是对象
这是您的完整代码
class Performer:
def __init__(self, FirstName, LastName, StageName, SecondaryRole, Type):
self.FirstName = FirstName
self.LastName = LastName
self.StageName = StageName
self.SecondaryRole = SecondaryRole
self.PerfType = Type
def EditSecondaryRole(self, NewRole):
self.SecondaryRole = NewRole
def EditStageName(self, NewStageName):
self.StageName = NewStageName
class Acrobat(Performer):
def __init__(self, UseFire):
super().__init__()
self.UseFire = UseFire
def PerformerInfo(self):
ReturnString = print(self.FirstName + "Superstar (real name" + self.FirstName + self.LastName + ") is an acrobat.")
if self.UseFire == True:
print("Fire is part of" + self.FirstName + "Superstar's act.")
else:
self.UseFire == False
print("Fire is not a part of" + self.FirstName + "Superstar's act.")
print("When not performing, " + FirstName + "Superstar is a set changer")
class Clown(Performer):
pass
class Aerial(Performer):
pass
Acrobat().PerformerInfo()