TGViewer
Python Developer Python Developer @python_tg · 20.9K subscribers
Post #2416 6.11K
🐍 Как управлять переменными в LEGB?

В прошлой части мы узнали, как Python ищет переменные по правилам LEGB.

Сегодня разберём, как можно менять переменные вне текущей функции — с помощью nonlocal и global.

▶️ nonlocal — используется, если мы внутри вложенной функции хотим изменить переменную из внешней функции, а не создавать новую локальную:

def outer():
x = 10
def inner():
nonlocal x
x += 1
inner()
print(x) # 11

Без nonlocal, x += 1 создало бы новую локальную x, и outer напечатал бы 10.


▶️ global — используется, если мы хотим изменить переменную из глобальной области видимости:

x = 5

def change():
global x
x = 99

change()
print(x) # 99

Без global, внутри change() была бы создана новая локальная x, и глобальная x осталась бы равной 5.


Подытожим: nonlocal работает только во вложенных функциях, global — для переменных на уровне модуля.

❤ — если было полезно

tags: #обучение

➡ Python Developer | Чат
  • ❤ 49
  • 👍 9
  • 🔥 6
More from @python_tg
  1. Oct 8, 2026Post #4058
  2. Oct 8, 2026ИИ-система может отлично решать задачи бизнеса, но при этом оставаться уязвимой. Утечки да…
  3. Oct 8, 2026📱 Пишем свой WSGI-сервер на Python Автор спускается на уровень Linux и показывает, как ус…
  4. Oct 7, 2026📱 270 инструментов для Python-разработчика В репозитории есть: 🫡 Линтеры и форматтеры; �…
  5. Oct 6, 2026📱 GraphQL vs REST: что выбрать для API В статье на одном примере разбирают разницу между…
  6. Oct 5, 2026Post #4052
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →