Пространство имен
1. Что такое пространство имён
Пространство имён — это контейнер, который сопоставляет имена переменных с объектами (значениями).
Оно отвечает за видимость и область действия переменных.
В Python есть несколько уровней пространства имён:
Local (локальное)
Внутри функции или метода
Переменные внутри функции
Enclosing (вложенное)
Внутри внешней функции (если есть вложенные функции)
Замыкания (closures)
Global (глобальное)
На уровне модуля
Переменные в файле Python
Built-in (встроенное)
Встроенные функции и объекты Python (len, print)
Python standard library
2. Пример
x = "глобальная переменная"
def outer():
x = "внешняя переменная"
def inner():
x = "локальная переменная"
print(x) # ищет сначала локальное пространство
inner()
print(x) # внешнее пространство
outer()
print(x) # глобальное пространствоВывод:
3. Ключевые моменты
global— позволяет использовать и изменять глобальную переменную внутри функции:
nonlocal— позволяет изменять переменную из внешней функции:
4. Применение в автотестах
Фикстуры и конфигурации тестов — глобальные переменные или параметры модуля.
Локальные переменные в функциях теста — чтобы не влиять на другие тесты.
Избежание конфликтов имён — важно в больших проектах, когда много тестовых модулей.
💡 Вывод:
Пространства имён — это способ управлять видимостью переменных.
Python использует LEGB-последовательность для поиска значения переменной.
globalиnonlocalпозволяют явно управлять областями видимости.
Last updated
Was this helpful?