【发布时间】:2021-02-13 08:19:41
【问题描述】:
有人可以帮我纠正这个错误吗?谢谢 (我正在尝试在子类中访问母类中的变量)
class Animal:
def __init__(self, name):
self.name = name
class Mammal:
def Presentation(self):
print(self.name + "is a mammal")
dog = Animal("Dog")
dog.Mammal.Presentation()
Traceback(最近一次调用最后一次): 文件“”,第 11 行,在 TypeError:Presentation() 缺少 1 个必需的位置参数:'self1'
【问题讨论】:
-
“妈妈”和“女儿”类是什么意思?您声明了一个嵌套类,但您既没有实例也没有对可以使用的封闭类的任何直接引用
-
为什么你认为
Mammal对象会有self.name属性?它没有分配到任何地方?你认为将一个类定义嵌套在另一个类定义中会做什么?它不创建继承关系。事实上,它并没有真正做任何有用的事情,除了可能保持命名空间分开 -
"我正在尝试访问子类中的母类中的变量" 但是您没有引用 Animal 类的任何实例,并且再次出现这里是没有母女关系。发生错误是因为您尝试在类对象上调用方法,而不是在实例上,但是没有
self,因此出现错误。 -
哺乳动物不是动物的属性;它是一种种的动物。