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を再インポートする方がエチケットとして適切ですか?module2module1.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ですか?