returnとはなにを返しているのか?
プログラム1.
def make_cmd(i):
return lambda : buff.set("button{} pressed".format(i))
button = Tkinter.Button(root, text = "Button{}".format(i), command = make_cmd(i))
プログラム2.
def make_cmd(i):
return buff.set("button{} pressed".format(i))
button = Tkinter.Button(root, text = "Button{}".format(i), command = make_cmd(i))
1 の場合はうまく動作するのですが、2 は button への代入でエラーが出てしまいます。
1 の返り値を表示すると <function <lambda> at 0xb714adbc>、2 は none でした。
なぜ、2 は none になるのですか?