パイソン初心者の質問です。何らかの状態を保持する関数を動的に作成したいとします (整数 i の下のコード内)。定義された関数はオブジェクトなので、後で使用できます。次のコードでは、関数をリストに追加し、 を呼び出すたびに が返されprint(fn(0))
ます0 1 2 3 4
が、代わりに4 4 4 4 4
の最新の値のみi
が使用されているように見えます。
fns = []
for i in range(5):
def fn(x):
return x + i
fns += [fn]
print(fns)
for fn in fns:
print(fn(0))
quit()
このコードがしようとしていることを Python で達成することは可能ですか?