If "__name__" == __main__ это типа чтобы обозначить что все что написанно ниже будет воспроизводится в начале программы, по факту для красоты чаще всего пишут. def это обазночение функции, например def fun(): и тут пишешь код функции, а потом пишешь fun() и то что ты написал воспроизводится. class это объект это тоже что и например tk() в tkinter если понимаешь о чем я, ну насчёт функций и классов лучше в Ютубе посмотреть, я тебе так не объясню.
Можно пример когда name = main необходим. То есть если код функции воспроизводится лишь раз, то def использовать не нужно? tkinter это тело, а tk - рука?
Список - основной агрегатный тип данных в Python, то есть тип, хранящий набор объектов. Конструктор - метод, вызываемый при создании объекта. В Python называется __init__. __name__ == "__main__" - предикат, используемый в программах для определения того, запускается ли файл отдельно или загружается как модуль в другой файл. Пример? Он нужен всегда, если файл, помимо функций, классов, каких-либо глобальных переменных, содержит то, что должно исполняться только при запуске этого файла, а не импортировании с использованием import. def - определяет функцию. class - определяет класс. Это базовые понятия для любого программиста.