TGViewer
Python: задачки и вопросы Python: задачки и вопросы @quiz_python · 6.93K subscribers
Post #4547 753
Развёрнутое пояснение

1️⃣Глобальная переменная 𝚡 получает значение 𝟷𝟶.

2️⃣При компиляции функции 𝚏𝚘𝚘 Python видит строку 𝚡 = 𝟸𝟶 и помечает 𝚡 как локальную переменную для всего тела функции.​

3️⃣Когда функция вызывается и выполняется 𝚙𝚛𝚒𝚗𝚝(𝚡), Python ищет 𝚡 в локальной области видимости, но присваивание ещё не произошло — переменная существует, но не связана со значением.​

4️⃣Выбрасывается UnboundLocalError: local variable 'x' referenced before assignment.

Почему это важно
Эта ошибка часто сбивает с толку начинающих: кажется, что глобальная переменная должна быть видна, но наличие присваивания ниже по коду «перетягивает» её в локальную область. Решение — либо использовать 𝚐𝚕𝚘𝚋𝚊𝚕 𝚡, либо не переиспользовать имя глобальной переменной.
  • ❤ 2
  • ✍ 1
More from @quiz_python
  1. Sep 22, 2026Развёрнутое пояснение: 1. Вызов build_batch создаёт генератор, но его тело пока не исполня…
  2. Sep 22, 2026Post #4884
  3. Sep 22, 2026Развёрнутое пояснение: 1. Вызывается load_config, управление переходит в блок try. 2. Перв…
  4. Sep 22, 2026Post #4882
  5. Sep 21, 2026Развёрнутое пояснение: 1. make_handlers создаёт пустой список handlers. 2. Цикл дважды при…
  6. Sep 21, 2026Post #4880
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 →