LEGB-rule. Как Python ищет имена переменных

  Рет қаралды 2,727

Python Russian

Python Russian

3 жыл бұрын

Короткое видео о LEGB-rule, аббревиатуре, в которой отражен порядок поиска имени переменной или функции в python.
Особенности:
1) сначала поиск идет в локальном пространстве имен, максимально близко к использованию имени и далее идет снизу-вверх, изнутри-наружу к глобальному пространству имен
2) после локального пространства имен интерпретатор посмотрит в enclosing, то есть в функцию, которая содержит текущую (если она есть) и далее проверит глобальное пространство имен
3) последним шагом будут проверены имена в модуле builtins (встроенные функции)
4) если на любом этапе имя найдено, то далее поиск не идет. Если все этапы неудачны то выбрасывается NameError
5) важно понимать что даже если мы используем встроенную функцию, типа max/min/sum/print, то интерпретатор сначала проведет поиск по всем скоупам. Вот почему крайне важно НИКОГДА не давать своим переменным, функциям, модулям имена встроенных функций или библиотек (самые частые фейлы это имена типа len, list, sum, json, dict)
Подробно:
1) "Learning Python", Fifth Edition Chapter 17 by Mark Lutz
2) docs.python.org/3.7/reference...
3) docs.python.org/3.7/tutorial/...
Присоединяйтесь к помощи каналу, будет интересно)
✔️Бусти boosty.to/python_russian/donate
✔️Юмани 410011506612886
Будь первым везде и всегда, включай уведомления о новых выпусках 🔔
#Python #PythonRussian #PyCharm

Пікірлер: 20
@im0767
@im0767 10 ай бұрын
когда хочу повторить какую-нибудь тему, читаю документацию и просматриваю здесь))) спасибо, очень доступно о не всегда понятном!
@user-zs4ql2sk8b
@user-zs4ql2sk8b 2 жыл бұрын
Редко пишу отзывы но ваш канал того стоит. Лайк
@volodymyr8215
@volodymyr8215 Жыл бұрын
Подача інформації на вищому рівні. Дякую.
@donfedor007
@donfedor007 Жыл бұрын
Спасибо Вам! Очень доступно!
@y18kotov
@y18kotov Жыл бұрын
Иннтересно! благодарю.
@user-do4nq3fr6t
@user-do4nq3fr6t 3 жыл бұрын
я был из таких до сие видео, кто думал что глобальное - главное
@PythonRussian
@PythonRussian 3 жыл бұрын
это нормально=) у многих такое впечатление создается
@AdmiralUshakovvv
@AdmiralUshakovvv 2 жыл бұрын
клссно обьясняешь, пошел покупать боьшой монитор)))
@PythonRussian
@PythonRussian 2 жыл бұрын
я не знаю стоит ли еще увеличивать шрифт, вроде сам на монике и 13 дюймовом ноуте смотрю - нормально
@eldos704
@eldos704 3 жыл бұрын
Очень жду видео про global и nonlocal
@PythonRussian
@PythonRussian 3 жыл бұрын
да, следующее в планах, если все пойдет как надо, то в выходные сделаю.
@PythonRussian
@PythonRussian 3 жыл бұрын
kzfaq.info/get/bejne/e7ODl8yUp9uWiY0.html
@user-ol6fo2ix2j
@user-ol6fo2ix2j 5 ай бұрын
Жаль, Что автор сам не смотрит свои ролики...А к хорошему объяснение неплохо бы и разборчивую картинку.
@AdmiralUshakovvv
@AdmiralUshakovvv 2 жыл бұрын
что за конструкция if name == main?
@PythonRussian
@PythonRussian 2 жыл бұрын
а вот же kzfaq.info/get/bejne/iK1ol9KT28yam3k.html
@AdmiralUshakovvv
@AdmiralUshakovvv 2 жыл бұрын
@@PythonRussian спасибо большое
@kesemlin5812
@kesemlin5812 10 ай бұрын
Чел, ты шикарен) ты заливаешь ролики куда нибудь еще? На случай блокировки ютуба
@PythonRussian
@PythonRussian 10 ай бұрын
есть дзен и рутуб но там нудевая активность, потому особо там даже не отвечаю на комменты
Список и кортеж
37:46
Python Russian
Рет қаралды 4,4 М.
Магические методы в python. Dunder методы
1:00:45
КАК ДУМАЕТЕ КТО ВЫЙГРАЕТ😂
00:29
МЯТНАЯ ФАНТА
Рет қаралды 9 МЛН
Nastya and SeanDoesMagic
00:16
Nastya
Рет қаралды 26 МЛН
Amazing weight loss transformation !! 😱😱
00:24
Tibo InShape
Рет қаралды 57 МЛН
아이스크림으로 체감되는 요즘 물가
00:16
진영민yeongmin
Рет қаралды 62 МЛН
ТОП функций в стандартной библиотеке python
8:54
Виталий Кулиев
Рет қаралды 1,3 М.
Главная тайна IT, язык Smalltalk
18:50
Python Russian
Рет қаралды 3,5 М.
10 признаков того, что вы новичок в Python
4:59
Доступ к свойствам объекта. Property и slots
42:54
Собеседование Python. Разбор вопросов
2:24:59
КАК ДУМАЕТЕ КТО ВЫЙГРАЕТ😂
00:29
МЯТНАЯ ФАНТА
Рет қаралды 9 МЛН