これは、プログラムの実行時間に大きな違いをもたらさないため、これは実用的な問題よりも理論的な問題かもしれません。少なくとも私の場合はそうではありません。Python関数で定数を定義する最適な方法
異なる( "自家製")関数をインポートするPythonコードをいくつか受け取っています。 1つの関数(funcと呼ぶ)は、メインスクリプトから5回呼び出されます(メインと呼びます)。
func多くの定数は、関数の始めに定義されています。
import numpy as np
def func(x,y,z):
c0 = np.array([1,2,3])
c1 = np.array([1,2,3])
c2 = np.array([1,2,3])
c3 = np.array([1,2,3])
#do stuff with variables x,y,z
#return stuff
私が思っていた:たとえば、この関数を呼び出すとき、定数C0があり、...、C3関数が呼び出されるたびに定義された、または時にバイトコードにコンパイルされたときには、「固定」されますメインスクリプトを実行すると、一度だけ定義されます。
FUNC内部の配列を定義する、おそらく非常に大きなパフォーマンスの問題ではなく、意味的に、それはだ場合それらを使って機能するだけで、彼らはそこにとどまるべきだと主張する。しかし、numpyを関数の中にインポートすると、不正に見える... –