Що означає цей простий код

Коли робиш class Application(Frame): то Application - це твій саморобний клас, що робиться з існуючого класу Frame.

Це означає, що це об'єкти (екземпляри) класу Application будуть двох типів одночасно - типу Application і типу Frame.

Коли робиш def __init__(self, master): це означає, що у класу Application робиш метод __init__. При цьому клас Frame має свій власний метод __init__. Ці методи можуть відрізнятися.

Коли робиш app = Application(root) ти створюєш об'єкт (примірник) класу Application. При цьому йому метод __init__ передається основне вікно всієї програми.

app має відразу два типи - саморобний Application (який ти сам зробив) та існуючий Frame (який вже зробили до тебе). За правилами tkinter'а, коли ти створюєш якесь вікно, його треба приліплювати до основного (так можна давати команди відразу всьому дереву вікон, в якому одні вікна приліплені до інших, і все це приліплено до основного вікна).

Так ось, щоб було все правильно, твій саморобний об'єкт, який зроблений з віконного типу, що існує, потрібно приліпити до основного вікна. Але оскільки твій об'єкт - саморобний і сам собою вікном не є, то всередині він повинен звернутися до того типу, який робить його вікном, і передати йому основне вікно програми, щоб той міг до нього приліпитися.

Розумієш, у тебе app - це один об'єкт як би двох типів: один тип не робить нічого, в ньому є лише свій __init__ і ще там якийсь саморобний метод; а інший тип є вікном з усіма методами та властивостями вікна. Тому, щоб у своєму саморобному типі щось робити, ти звертаєшся просто до його елементів. А щоб у існуючому типі щосьробити, ти до нього отримуєш доступ через super() (від слова суперклас), а потім звертаєшся до своїх же елементів, але через методи іншого типу.