我有以下文件app.py
Python導入語句是否也自動導入相關性?
class Baz():
def __init__(self, num):
self.a = num
print self.a
def foo(num):
obj = Baz(num)
第二個文件main.py
from app import foo
foo(10)
運行文件python main.py
給出正確的輸出。
現在在第二個文件中,我只是導入函數而不是類,儘管成功執行我的函數也需要類。
導入函數時,Python會自動導入運行該函數所需的所有內容,還是會自動搜索當前目錄中的類?
這是整潔。所以我不應該把不相關的代碼放在一個文件中,如果我的意圖是隻加載一個函數,因爲Python會一直編譯整個文件,對嗎? – 2015-03-31 11:25:22
@KartikAnand Python只會將它編譯成一個'.pyc'文件,稍後導入只需從同一個'.pyc'文件中獲取字節碼,直到您再次更新'.py'文件。 – 2015-03-31 11:27:05
因此,如果我沒有明確導入'Baz',我可以通過從函數附加的'__globals__'來實例化它嗎? – 2015-03-31 11:30:40