簡體   English   中英

Python如何在導入文件中定義的導入文件中使用函數?

[英]Python how to use function in imported file defined in importing file?

有時,我看到這樣的例子,但我不明白它們是如何工作的。 導入的模塊使用函數,沒有設置使用該函數的任何地方。 請有人可以解釋我如何使用它們。

例子:

from some_package import *

def some_func():
    # do_something
    pass
    
imported_func()

然后 import_func 以某種方式定義了 some_func 並使用它。 這是如何實施的? 當我嘗試從 module.py 調用 some_func 時,我收到了一個錯誤。 再次:想法是使用導入文件中定義的導入文件中的函數。 我在谷歌找不到答案。

我試過了:

from f.module import *
obj = cls()

def some_func():
    for _ in range(100):
        print("smth")
        
obj.imported_func()

main.py 中的代碼

class cls:
    @staticmethod
    def imported_func():
        some_func()
    

module.py 中的代碼

我在一個目錄中有 main.py 和文件夾 f。 在文件夾 f 我有 module.py

這樣做的方法是首先import __main__然后調用__main__.some_func() ,但請記住,這不是一個好習慣,因為至少您要保留名稱,這可能成為錯誤的常見原因。

暫無
暫無

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

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