Sobes.tech
Back to questions
Junior — Middle
62

В чем заключается роль области видимости в языке Python и как она влияет на доступ к переменным?

Answer from AI

sobes.tech AI

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

Основные типы областей видимости:

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

При обращении к переменной Python ищет её в порядке LEGB (Local, Enclosing, Global, Built-in).

Пример:

a = 10  # глобальная переменная

def outer():
    b = 20  # внешняя переменная
    def inner():
        c = 30  # локальная переменная
        print(a, b, c)
    inner()

outer()

Если внутри функции нужно изменить глобальную переменную, нужно использовать ключевое слово global:

count = 0

def increment():
    global count
    count += 1

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