1
すべての関数が同じでないように次のコードを書くにはどうすればよいですか?Pythonで関数の複数のバリエーションを返す方法
>>> def g(x):
... l = []
... for i in range(1,10):
... def f(x):
... return x + i
... l.append(f)
... return l
アイデアは、最初の機能は、Pythonですべてが目的であるので、第二x+2
等がしかし、以前のすべての機能定義が上書きされx+1
を返す場合g
9つの機能のリストを返すことであるべきです。これをどうすれば解決できますか?
の関数を上書きしません。 – hurturk
あなたのすべての機能は同じです:それらはすべて 'i'の現在の値を加えます。関数を呼び出すと、 'i'の現在の値は10になります。 – khelwood