2

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

TestClass.py文件中:

class TestClass:

    def func1(self):
        pass

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

main.py文件中:

TestClass1 = TestClass()
TestClass1.func2()

最初,我尝试通过以下方式运行func1func2TestClass.py中):

TestClass.func2()

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

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

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

TestClass.func2(TestClass1)

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

4

1 回答 1

3

我不是 python 大师,但您似乎需要调用func1func2使用self类似于thisjava 中的引用。

于 2013-08-08T08:25:18.880 回答