Область видимости, scope
Область видимости, scope (с англ. — диапазон) — ограниченный участок кода, структурная единица, внутри которой доступна объявленная переменная.
Концепция областей видимости относится к программированию в целом, независимо от языка.
Области видимости помогают лучше организовать код, сделать его более читаемым и избежать хаоса. Если бы их не было, все переменные были бы доступны во всём коде. При таком подходе легко запутаться и совершить ошибки, прежде всего связанные с конфликтами имён.
Основные типы областей видимости:
- глобальная: переменные объявлены на самом верхнем уровне, вне каких-либо конструкций, и доступны из любой части кода
- блочная: переменные объявлены внутри блоков кода, например инструкций if и циклов, и доступны только внутри этих блоков
- область видимости функции: переменные объявлены внутри функций и доступны только внутри них
Области видимости входят друг в друга, формируя иерархию. Интерпретатор — программа для выполнения кода — сначала ищет переменную в той области видимости, в которой к переменной обратились. Если ему не удаётся её найти, он выходит за пределы этой области видимости и ищет переменную в области на уровень выше. Если опять не получилось, интерпретатор выходит на следующий уровень — и так далее, пока не дойдёт до глобальной области видимости. Если и в ней переменную не удалось найти, возникает ошибка о том, что она не объявлена.
Узнайте больше в Медиа Нетологии:
Бесплатные курсы по программированию:
Программы по программированию: