2 つの Python モジュールがあるとします。
module1.py
:
import module2
def myFunct(): print "called from module1"
module2.py
:
def myFunct(): print "called from module2"
def someFunct(): print "also called from module2"
をインポートする場合、module1
を再インポートする方がエチケットとして適切ですか?module2
module1.module2
例 ( someotherfile.py
):
import module1
module1.myFunct() # prints "called from module1"
module1.module2.myFunct() # prints "called from module2"
これもできます: module2 = module1.module2
. これで、 を直接呼び出すことができますmodule2.myFunct()
。
ただし、次のように変更できますmodule1.py
。
from module2 import *
def myFunct(): print "called from module1"
今、someotherfile.py
私はこれを行うことができます:
import module1
module1.myFunct() # prints "called from module1"; overrides module2
module1.someFunct() # prints "also called from module2"
また、 をインポートすることにより*
、help('module1') は のすべての関数を表示しmodule2
ます。
一方、( をmodule1.py
使用すると仮定してimport module2
)、私は次のことができます:
someotherfile.py
:
import module1, module2
module1.myFunct() # prints "called from module1"
module2.myFunct() # prints "called from module2"
繰り返しますが、どちらがより良いエチケットと練習ですか? 再度インポートしますかmodule2
、それとも のインポートを参照するだけmodule1
ですか?