Python のベスト プラクティスを理解しようとしています。グローバル変数にアクセスする (ただし変更しない) 関数を定義する場合、通常、関数で変数をグローバルとして指定する必要はありません。しかし、グローバル変数を関数に渡す方が速いでしょうか? グローバル変数を検索するコストについての言及に出くわしたので質問しますが、理解できるかどうかはわかりません。例えば:
def f1(localList):
for element in localList:
if element in globalSet:
pass #do stuff.
def f2(localList, localSet):
for element in localList:
if element in localSet:
pass #do stuff.
globalList = <arbitrary list>
globalSet = <arbitrary set>
f1(globalList)
f2(globalList, globalSet)
f2 は一般に、f1 と比較してより高速/より優れた/より「pythonic」なアプローチであると考えられていますか?