[英]How to instantiate an object of a class from within the class itself?
下面是我的代碼的簡化版本:
在TestClass.py文件中:
class TestClass:
def func1(self):
pass
def func2(self):
HERE I WANT TO CALL func1
並在main.py文件中:
TestClass1 = TestClass()
TestClass1.func2()
最初,我嘗試通過以下方式(在TestClass.py中 )從func2
運行func1
:
TestClass.func2()
但是在這種情況下,我收到以下錯誤消息:
TypeError: unbound method func1() must be called with TestClass instance as first argument (got str instance instead)
因此,我理解此問題的方式是TestClass
本身內沒有TestClass1
實例,它僅存在於main(calling)代碼中。 因此,為了解決這個問題,我在從main.py調用func2
時傳遞了TestClass
的實例:
TestClass.func2(TestClass1)
並相應地將其(類)添加為func2
作為必需參數。 結果,它似乎工作正常。 但是我想確保這是一種公認的方法。
我不是python專家,但看來您需要使用self
引用來調用func1
和func2
, this
與java中的類似。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.