Pythonのお勉強 Part32
■ このスレッドは過去ログ倉庫に格納されています
0150デフォルトの名無しさん
2009/02/22(日) 19:52:09識者の方がいらっしゃいましたら、
ご教授願えるとありがたいです。
//無名関数をn個リストにして返す関数
def make_funcs(n):
fn_list = []
for i in range(n):
fn_list.append(lambda x : i*x)
return fn_list
//code block
fL = make_funcs(5)
for f in fL:
print(f(10))
//実行結果
40
40
40
40
//期待する実行結果
0
10
20
30
40
for文中のiが上手く認識されていないように思えます。
Schemeのクロージャとは振る舞いが異なるのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています