Другой пример, когда при написании кода Tkinter, например, добавляются данные идентификатора в функцию обратного вызова, поскольку обратные вызовы Tkinter вызываются без параметров.
Итак, предположим, я хочу создать числовую панельи узнать, какая кнопка была нажата:
import Tkinter
from functools import partial
window = Tkinter.Tk()
contents = Tkinter.Variable(window)
display = Tkinter.Entry(window, textvariable=contents)
display.pack()
def clicked(digit):
contents.set(contents.get() + str(digit))
counter = 0
for i, number in enumerate("7894561230"):
if not i % 3:
frame = Tkinter.Frame(window)
frame.pack()
button = Tkinter.Button(frame, text=number, command=partial(clicked, number))
button.pack(side="left", fill="x")
Tkinter.mainloop()