簡體   English   中英

如何從類本身內部實例化一個類的對象?

[英]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引用來調用func1func2this與java中的類似。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM