Каталог курсов
Учиться бесплатно

Область видимости, scope

Область видимости, scope (с англ. — диапазон) — ограниченный участок кода, структурная единица, внутри которой доступна объявленная переменная.

Концепция областей видимости относится к программированию в целом, независимо от языка.

Области видимости помогают лучше организовать код, сделать его более читаемым и избежать хаоса. Если бы их не было, все переменные были бы доступны во всём коде. При таком подходе легко запутаться и совершить ошибки, прежде всего связанные с конфликтами имён.

Основные типы областей видимости:
  • глобальная: переменные объявлены на самом верхнем уровне, вне каких-либо конструкций, и доступны из любой части кода
  • блочная: переменные объявлены внутри блоков кода, например инструкций if и циклов, и доступны только внутри этих блоков
  • область видимости функции: переменные объявлены внутри функций и доступны только внутри них

Области видимости входят друг в друга, формируя иерархию. Интерпретатор — программа для выполнения кода — сначала ищет переменную в той области видимости, в которой к переменной обратились. Если ему не удаётся её найти, он выходит за пределы этой области видимости и ищет переменную в области на уровень выше. Если опять не получилось, интерпретатор выходит на следующий уровень — и так далее, пока не дойдёт до глобальной области видимости. Если и в ней переменную не удалось найти, возникает ошибка о том, что она не объявлена.

Узнайте больше в Медиа Нетологии: 
Бесплатные курсы по программированию:

Программы по программированию:
← В глоссарий