, lambda , lambda . , , , ... , lambdas i.
factory, :
import Tkinter as tk
def callbackFactory(b, n):
def _callback():
return b.playColumn(n, b.getCurrentPlayer())
return _callback
for i in range(boardWidth):
newButton = tk.Button(root, text=str(i+1),
command=callbackFactory(Board, i+1))
Board.boardButtons.append(newButton)
- lambda , :
for i in range(boardWidth):
newButton = tk.Button(root, text=str(i+1),
command=lambda x=i: Board.playColumn(x+1, Board.getCurrentPlayer()))
Board.boardButtons.append(newButton)