Dzen.ru Video Downloader

The easiest way to download Dzen.ru video, music, thumbnail without watermark or logo

Python Russian

22 2 дня назад

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

TIP! Right-click and select "Save link as..." to download.

Loading...
Короткое видео о 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) https://docs.python.org/3.7/reference/executionmodel.html#naming-and-binding

3) https://docs.python.org/3.7/tutorial/classes.html#python-scopes-and-namespaces

Присоединяйтесь к помощи каналу, будет интересно)
✔️Бусти https://boosty.to/python_russian/donate
✔️Юмани 410011506612886

Будь первым везде и всегда, включай уведомления о новых выпусках 🔔


Смотри там где удобно🤩
✔️ https://vk.com/python_russian
✔️ https://boosty.to/python_russian

✔️ https://www.youtube.com/c/PythonRussian
✔️ https://t.me/python_russian

✔️ https://dzen.ru/python_russian
✔️ https://rutube.ru/channel/24346352/

#Python #PythonRussian #PyCharm