Почему мне нужно использовать этого пользователя = dict()

#python #dictionary #tkinter

Вопрос:

 from tkinter import *

main_window = Tk()
main_window.title("Register now")

frame = Frame(main_window)
frame.pack()

l_name = Label (frame, text = "Name:")
#metodo entende que é a mesma coisa que l_name.grid(row = 0, column = 0)
l_name.grid()
e_name = Entry(frame)
e_name.grid(row = 0, column =1)

l_lastname = Label(frame, text = "Last name:")
#metodo entende que é a mesma coisa que l_name.grid(row = 1, column = 0)
l_lastname.grid(row = 1)
e_lastname = Entry(frame)
e_lastname.grid(row = 1, column =1)

l_email = Label (frame, text = "E-mail:")
l_email.grid(row = 2)
e_email = Entry(frame)
e_email.grid(row = 2, column =1)

def convert_to_dict():
    user = dict()
    user['name'], user['last_name'], user['e-mail'] = e_name.get(), e_lastname.get(), e_email.get()
    print(user)
    
Button(frame, text = "Send", command = convert_to_dict).grid(row=3,column =1)
 

Зачем мне нужен этот пользователь = dict() команды ? Я говорю программе, что переменный пользователь-это a dict() , и это нормально, но я хочу знать, нанесет ли put user = {} такой же вред коду

Комментарии:

1. user = dict() и user = {} имеют тот же эффект.

2. Спасибо @khelwood!

3. Вы также можете использовать user = {"name": e_name.get(), "last__name": e_lastname.get(), ...}

Ответ №1:

Оператор user = dict() создает новый и пустой словарь python, который затем вы заполняете содержимым в следующей строке.

Мне этот подход кажется довольно непитоническим. Я бы предпочел инициализировать и заполнить словарь за один раз, как предложил Телизард:

 user = {"name": e_name.get(), "last__name": e_lastname.get(), ...}
 

Вы можете добиться того же с помощью этого dict() метода, но в этом случае это может привести к большему визуальному беспорядку. Тем не менее, этот dict() метод поставляется с кучей других удобных способов создания и заполнения словарей программными способами. например, этот ресурс дает хороший обзор: https://www.programiz.com/python-programming/dictionary

Комментарии:

1. Спасибо тебе, грмммммм!