下面是我的代码的简化版本:
在TestClass.py文件中:
class TestClass:
def func1(self):
pass
def func2(self):
HERE I WANT TO CALL func1
在 main.py 文件中:
TestClass1 = TestClass()
TestClass1.func2()
最初,我尝试通过以下方式从 func2
运行 func1
(在 TestClass.py 中):
TestClass.func2()
但在这种情况下,我收到了以下错误消息:
TypeError: unbound method func1() must be called with TestClass instance as first argument (got str instance instead)
所以我理解这个问题的方式是,TestClass1
本身没有 TestClass1
实例,它只存在于主(调用)代码中。因此,为了解决这个问题,我在从 main.py 调用 func2
时传递了 TestClass
的实例:
TestClass.func2(TestClass1)
我已将它(类)添加到 func2
中作为相应的强制参数。
结果,它看起来工作正常。但我想确保这是一种可以接受的方法。
最佳答案
我不是Python专家,但似乎您需要使用self
引用来调用func1
和func2
,这是类似于java中的this
。
关于python - 如何从类本身实例化类的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18121111/