如何从类本身实例化一个类的对象?

时间:2013-08-08 08:16:28

标签: python class oop

以下是我的代码的简化版本:

TestClass.py 文件中:

class TestClass:

    def func1(self):
        pass

    def func2(self):
        HERE I WANT TO CALL func1

main.py 文件中:

TestClass1 = TestClass()
TestClass1.func2()

最初,我尝试按以下方式从func1运行func2(在 TestClass.py 中):

TestClass.func2()

但在这种情况下,我收到了以下错误消息:

TypeError: unbound method func1() must be called with TestClass instance as first argument (got str instance instead)

所以我理解这个问题的方式是TestClass1本身内没有TestClass实例,它只存在于主(调用)代码中。因此,为了解决这个问题,我在从 main.py 调用TestClass时通过了func2的实例:

TestClass.func2(TestClass1)

我已将它(类)添加到func2作为强制参数。 因此,它似乎工作正常。但我想确保这是一种可以接受的方式。

1 个答案:

答案 0 :(得分:3)

我不是蟒蛇大师,但似乎你需要使用func1引用来调用func2self,这类似于java中的this