2017-07-06 1 views
0

私はutil.pyファイルを持っています。このファイルには、他のモジュールで使用されている一連のメソッドがあります。 utilモジュールは、他の関数を呼び出す前にsetup()関数が呼び出されている必要があります。他の関数が呼び出される前にこの関数を呼び出す必要はありますか?関数はutil.some_func(**args)のような他のモジュールによって呼び出されます。Pythonのutilモジュールの呼び出しが最初に設定されます

+0

'setup'関数に引数が必要ですか? – ShadowRanger

+0

@ShadowRangerいいえ、そうではありません。 –

答えて

1

モジュールがインポートされると、「トップ」レベル(または最も外側のインデントレベル)のすべてのコードが実行されます。これには、関数定義、クラス定義、変数、および関数呼び出しが含まれます。あなたのモジュールが自動的に関数を実行しますインポート

setup() 

すべてのコード:

だから、あなたのutil.pyファイルの一番下に、単に関数を呼び出します。

セットアップを2回実行しないようにするには、おそらく安全対策を施したいと思うでしょう。

+0

それはちょうどインポート時に実行されます、そうですか?関数が呼び出されるたびに実行されることはありません。 –

+1

@NishantRoy:トップレベル(別の関数内ではなく、通常はモジュールの最下部にあるので、呼び出す前にすべてが定義されています)であれば、インポート時のみです。モジュールが誰にでも初めてインポートされるのは、 'import'は最初のロード時にモジュールをキャッシュするので、同じモジュールの後続の' import'はキャッシュされたモジュールをロードするだけで、実際にそれを再インポートしません。しかし、 'reload(modulename)'を呼び出すと再実行されます。 – ShadowRanger

関連する問題