簡體   English   中英

在Python中,如何在同一文件夾中定義的類中的__init__.py中調用函數

[英]in Python how do call functions in __init__.py in a class defined in the same folder

我有一個python包

- my_package
  - __init__.py
       # inside
       def getSingleton()  # gets an instance of an object in the package
  - AClass.py
       # inside
       class AClass:
           ...
           def instanceMathod(self,arg):
              singleton = (parent package).getSingleton()

我想從模塊的類實例中使用模塊的“靜態”功能,即:從包含的類實例中引用父模塊? 可以這樣做嗎? 有沒有更好的辦法? 當所有導入模塊都被銷毀時,如果包含模塊被銷毀,則單例將被銷毀,因此效果很好。 我正在使用python3

采用:

def instanceMethod(self,arg):
    from . import getSingleton
    singleton = getSingleton()

在這里,我們將導入推遲到調用該方法之前,而不是在全局范圍內導入,以防mypackage.__init__也在導入AClass

暫無
暫無

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

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