Раздел 45 · Python backend: Тарбадель

Окружения, LEGB и таблицы символов

middle-senior~35 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

Машинный зал под Шпилем гудит ровно, как вчера. Лорра ушла наверх, а её вопрос остался: твоё дерево узлов распечатано на длинной ленте и висит между двумя стойками Оракула. Элодий ведёт мелом по ленте и останавливается на узле Name(id='count').

В уроке 70 окружение было цепочкой словарей, и поиск имени шёл во время исполнения: не нашёл в своём, спроси у родителя. Для Lisp этого хватало. Python решает вопрос «где живёт имя» до исполнения, по одному тексту программы, и записывает ответ в таблицу. Сегодня ты увидишь, где это решение торчит наружу (в одной знаменитой ошибке), спросишь таблицу у самого CPython через модуль symtable и соберёшь такую же для Оракула.

урок из курса

Урок из курса «Python backend: Тарбадель». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.