Можешь перечислить основные пространства имен в Python и объяснить их назначение?

В Python существуют три основных пространства имен, которые определяют область видимости объектов:

Короткий ответ

Что ответить на собеседовании

В Python существуют три основных пространства имен, которые определяют область видимости объектов:

Подробный разбор

Ответ с пояснениями

В Python существуют три основных пространства имен, которые определяют область видимости объектов:

  1. Локальное пространство имен (Local Namespace) — содержит имена, определённые внутри текущей функции или метода. Эти имена доступны только в пределах этой функции.
  2. Область видимости вложенных функций (Enclosing Namespace) — это пространство имен внешних функций, если функция вложена в другую функцию. Позволяет вложенной функции обращаться к переменным внешней функции.
  3. Глобальное пространство имен (Global Namespace) — содержит имена, определённые на уровне модуля (файла). Доступно во всём модуле.
  4. Встроенное пространство имен (Built-in Namespace) — содержит имена встроенных функций и исключений Python, например, print(), len(), Exception.

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

Пример:

x = 'глобальный'

def outer():
    x = 'внешний'
    def inner():
        x = 'локальный'
        print(x)  # Выведет 'локальный'
    inner()
    print(x)  # Выведет 'внешний'

outer()
print(x)  # Выведет 'глобальный'

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее