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
になるのですか?