0

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

我这里有这个:

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 - 我必须从另一个太大而无法在此处发布的类继承它。谁能帮我弄清楚该怎么做?我在网上研究过,没有任何意义。

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

4

2 回答 2

3

要从另一个类继承:

class RigLegs(base_class_name):

一个例子:

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

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

instance = pie()

您可以在Python 文档中阅读更多内容


进口:

文件(apples.py)

class base():
    items = [1,3,4]

文件(main_file.py)

import apples

class pie(apples.base):
    def __init__(self):
        self.pies()

    def pies(self):
        print(self.items)

instance =  pie()
于 2013-04-08T23:11:37.213 回答
0

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

class RigLegs(Ancestor1, Ancestor2):
    # Your code chere.

不要忘记,您仍然需要调用祖先的初始化逻辑。

    def __init__(self):
        super(RigLegs, self).__init__()
于 2013-04-08T23:11:29.530 回答