Python Разработка | Web Backend, Парсинг & Telegram Bots. Пайтон программирование с нуля. Django, FastAPI и SQL. Уроки для начинающих и IT карьера. Coding.
Образование · 21 августа 2026 г.
Когда в Python используется переменная, сначала она ищется в текущей области видимости.... — 21 августа 2026 г. в 07:32:51.923
Когда в Python используется переменная, сначала она ищется в текущей области видимости. Если такая переменная не найдена, поиск продолжается во вложенной области. Это повторяется до тех пор, пока не будет достигнуто глобальное пространство имен. x = 1 def scope(): x = 2 def inner_scope(): print(x) # выводит 2 inner_scope() scope() Однако присваивание переменной работает иначе. Новая переменная всегда создается в текущей области видимости, если не указано global или nonlocal: x = 1 def scope(): x = 2 def inner_scope(): x = 3 print(x) # выводит 3 inner_scope() print(x) # выводит 2 scope() print(x) # выводит 1 global позволяет использовать переменные из глобального пространства имен, а nonlocal ищет переменную в ближайшей окружающей области видимости. Сравните: x = 1 def scope(): x = 2 def inner_scope(): global x x = 3 print(x) # выводит 3 inner_scope() print(x) # выводит 2 scope() print(x) # выводит 3 x = 1 def scope(): x = 2 def inner_scope(): nonlocal x x = 3 print(x) # выводит 3 inner_scope() print(x) # выводит 3 scope() print(x) # выводит 1 👉 @BookPython

