类中的Python类

类中的Python类,python,class,Python,Class,有人能帮我纠正这个错误吗?谢谢 (我正在尝试访问子类中的母类中的变量) 类动物: 定义初始化(self,name): self.name=名称 哺乳类: def演示(自我): 打印(self.name+“是哺乳动物”) 狗=动物(“狗”) 狗。哺乳动物。展示() 回溯(最近一次呼叫最后一次): 文件“”,第11行,在 TypeError:Presentation()缺少1个必需的位置参数:“self1”子类必须继承父self属性才能执行此操作 class Animal: def __i

有人能帮我纠正这个错误吗?谢谢
(我正在尝试访问子类中的母类中的变量)

类动物:
定义初始化(self,name):
self.name=名称
哺乳类:
def演示(自我):
打印(self.name+“是哺乳动物”)
狗=动物(“狗”)
狗。哺乳动物。展示()
回溯(最近一次呼叫最后一次): 文件“”,第11行,在
TypeError:Presentation()缺少1个必需的位置参数:“self1”

子类必须继承父self属性才能执行此操作

class Animal:
    def __init__(self, name):
        self.name = name
    class Mammal:
        def Presentation(inherit):
            print(inherit.name + “is a mammal”)
dog = Animal("Dog")
Animal.Mammal.Presentation(dog)

这不是你问题的实际答案,但我想你应该这样做:

class Animal:
    def __init__(self, name):
        self.name = name

    def Presentation(self):
        raise NotImplementedError


class Mammal(Animal):
    def Presentation(self):
        print(self.name + "is a mammal")


dog = Mammal("Dog")
dog.Presentation()


你说的“母亲”和“女儿”是什么意思?您声明了一个嵌套类,但是您既没有实例,也没有对可以使用的封闭类的任何直接引用。为什么您认为
哺乳动物
对象将具有
self.name
属性?它没有分配到任何地方?您认为将一个类定义嵌套在另一个类定义中有什么作用?它不会创建继承关系。事实上,它并没有真正做任何有用的事情,除了可能将名称空间分开“我试图在子类中访问母类中的变量”之外,但您没有引用任何动物类的实例,而且这里也没有母/子关系。发生错误的原因是您试图对类对象(而不是实例)调用方法,但是没有
self
,因此出现错误;它是一种动物。你不需要定义
哺乳动物。因为它只调用与表达式
哺乳动物相同的方法。如果没有定义,它将解析为。是的,我的第一个未编辑的答案没有包含init函数。但是我想说明如何调用它,以防更改参数“name”@ExceptionFinder overriding
\uuu init\uu
在这里没有显示任何有用的内容。继承的全部要点是代码的重用。@例外情况至少要更改参数的名称,或者做一些可以保证重写该方法的事情。现在,它只是噪音。@chepner很好,我删除了它:)虽然这不是我个人的偏好。这是一个解决方案,但不是继承,这里没有父/子类。这只是为方法提供一个参数。使用不当classes@AbrarAhmed是的,它必须是
动物.哺乳动物.演示文稿(狗)
才能不抛出错误,不管怎样,它仍然不是正确的方法。对于我正在进行的项目,我真诚地希望看到正确的方法。@JacobLee正确的方法是什么?使用继承?基本上,不需要嵌套类。那没用。您可以通过在类定义中使用类似于
类的子类(父类):…
的方法从另一个类继承。