Python继承

Python继承,python,inheritance,Python,Inheritance,我不了解任何关于如何使继承工作的在线文档 我这里有: import maya.cmds as cmds class RigLegs(): def __init__(self, *args): self.rigLegs() def rigLegs(self): self.items["side"] = "left" self.lIK = cmds.duplicate(self.lJoints["hip"], n = self.g

我不了解任何关于如何使继承工作的在线文档

我这里有:

import maya.cmds as cmds


class RigLegs():
    def __init__(self, *args):
        self.rigLegs()

    def rigLegs(self):
        self.items["side"] = "left"
        self.lIK = cmds.duplicate(self.lJoints["hip"], n = self.getName("hip_IK"))
        for i in self.lIK:
            newName = i[0].replace("_JNT", "_IK")
            cmds.rename(i, newName)
但是它抱怨没有self.items——我必须从另一个类继承它,这个类太大了,无法在这里发布。有人能帮我弄清楚怎么做吗?我在网上研究过,没有任何意义


另一个类完全位于不同的文件中。

在类声明中:
类RigLegs()
,您应该包括所有要从中继承的类,例如:

class RigLegs(Ancestor1, Ancestor2):
    # Your code chere.
不要忘记,您仍然需要调用祖先的初始化逻辑

    def __init__(self):
        super(RigLegs, self).__init__()

在类声明中:
class RigLegs()
,您应该包括所有要从中继承的类,例如:

class RigLegs(Ancestor1, Ancestor2):
    # Your code chere.
不要忘记,您仍然需要调用祖先的初始化逻辑

    def __init__(self):
        super(RigLegs, self).__init__()

要从其他类继承,请执行以下操作:

class RigLegs(base_class_name):
例如:

class base_class():
    items = [1,2,3]

class pie(base_class):
    def __init__(self):
        print (self.items)

instance = pie()
你可以在网上阅读更多


进口:

文件(apples.py)

文件(main_file.py)


要从其他类继承,请执行以下操作:

class RigLegs(base_class_name):
例如:

class base_class():
    items = [1,2,3]

class pie(base_class):
    def __init__(self):
        print (self.items)

instance = pie()
你可以在网上阅读更多


进口:

文件(apples.py)

文件(main_file.py)



class RigLegs(父类)
class RigLegs(父类)
?它不工作。它们在不同的文件中,所以我导入它,并通过说
class RigLegs(UI\u file\u name.UI\u class\u name)
继承类,它仍然声称RigLegs没有属性“items”,你确定导入正确吗?如果它们被分割成不同的文件,它对我来说非常好。是的,我知道如何正确地导入它:(我正在使用
类RigLegs(jtAutoRigi.RigUI):
导入jtAutoRigUI
之后,将
RigUI
类的适当代码区域发布到问题中,我会看看是否能提供帮助。现在,虽然
RigUI
中看起来实际上没有
变量,但它太大了,无法粘贴到其中,因此我使用了一个粘贴器:它不起作用。他们'我们在不同的文件中,所以我导入它,并通过说
class RigLegs(UI\u file\u name.UI\u class\u name)
继承类。它仍然声称RigLegs没有属性“items”,你确定导入它正确吗?如果它们被拆分为不同的文件,它对我来说非常好。是的,我知道如何正确导入它:(我正在使用
类RigLegs(jtAutoRigi.RigUI):
导入JTAutoRigi
之后,将
RigUI
类的适当代码区域发布到问题中,我会看看是否能提供帮助。现在,虽然
RigUI
中看起来实际上没有
变量,但它太大了,无法粘贴到其中,因此我使用了一个bin粘贴器:正如另一个建议一样on说,它不起作用。它仍然声称没有属性“items”。@user1090427那么这可能是因为你的祖先没有定义
,你不这么认为吗?@user1090427这是因为你没有调用祖先的
\uuuuu init\uuuuu
方法;这就是定义
的地方;)。查看我的编辑。我以前没有遇到过必须使用super的情况,我不太明白它在做什么。但它也不起作用,因为我得到了错误:
super()参数1必须是类型,而不是classobj
@user1090427您的
RigUI
类需要从
对象
类RigUI(对象)
。否则,用
RigLegs.\uuuu init\uuuuuuu(self)
替换
super
调用。正如另一个建议所说,它不起作用。它仍然声称没有属性“items”@user1090427那么这可能是因为您的祖先没有定义
,您不这么认为吗?@user1090427这是因为您没有调用祖先的
\uuuuu init\uuuu
方法;而
项就是在该方法中定义的;)。查看我的编辑。我以前没有遇到过必须使用super的情况,我不太明白它在做什么。但它也不起作用,因为我得到了错误:
super()参数1必须是类型,而不是classobj
@user1090427您的
RigUI
类需要从
对象
类RigUI(对象)
。否则,用
RigLegs.\uuuu init\uuuuu(self)
替换
super
调用。