以下是我的代码的简化版本:
在 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
作为强制参数。
因此,它似乎工作正常。但我想确保这是一种可以接受的方式。
答案 0 :(得分:3)
我不是蟒蛇大师,但似乎你需要使用func1
引用来调用func2
和self
,这类似于java中的this