I am learning Python's GUI with Tkinter.
I want to create a GUI with many buttons, and every button has own name and similar function(only difference in parameter).
This is my code:
from tkinter import *
ALPHABET = ["1", "2", "3"]
class GUI():
    def __init__(self):
        self.__mainw = Tk()
        self.letter_list = []
        # I want that every button have own name and command function parameter
        for letter in ALPHABET:
            self.letter_list.append(Button(self.__mainw, text=letter, command= lambda : self.letter_btm(letter)))
        for letter_btm in self.letter_list:
            letter_btm.pack()
        self.__mainw.mainloop()
    def letter_btm(self, letter):
        print(letter)
def main():
    GUI()
if __name__ == "__main__":
    main()
and this is result.
Every button print same letter. I know the result maybe variable reference, but how can I get expect result?
Button 1, Print 1
Button 2, Print 2
Button 3, Print 3
 
    