Sobes.tech
Back to questions
Junior — Middle
62

Можете объяснить концепцию области видимости переменных в программировании?

Answer from AI

sobes.tech AI

Область видимости переменной — это часть программы, в пределах которой переменная доступна для использования.

В Python существуют несколько уровней области видимости:

  • Локальная (local) — переменные, объявленные внутри функции, доступны только внутри этой функции.
  • Внешняя (enclosing) — переменные из внешних (вложенных) функций, доступны во вложенных функциях.
  • Глобальная (global) — переменные, объявленные на уровне модуля, доступны во всём модуле.
  • Встроенная (built-in) — имена, определённые в стандартной библиотеке Python.

Пример:

def outer():
    x = 10  # enclosing
    def inner():
        print(x)  # доступ к enclosing
    inner()

outer()

Если переменная не найдена в локальной области, поиск идёт во внешних, затем в глобальной, и, наконец, в встроенной.

Ключевые слова global и nonlocal позволяют изменять переменные в глобальной и внешней областях видимости соответственно.