Встречается на собеседованиях • сегодня

Что такое область видимости

Область видимости (scope) в Python определяет, где и какие переменные доступны в коде. Есть 4 типа областей видимости:

  1. Локальная (Local) - переменные внутри функции
  2. Охватывающая (Enclosing) - переменные во внешней функции для вложенных функций
  3. Глобальная (Global) - переменные на уровне модуля
  4. Встроенная (Built-in) - встроенные функции и исключения
python
x = 10  # Глобальная

def outer():
    y = 20  # Enclosing
    
    def inner():
        z = 30  # Локальная
        print(x, y, z)  # Доступны все
        
    inner()

outer()
print(x)  # Только x

Ключевые моменты:

  • Локальные переменные имеют приоритет
  • Для изменения глобальной переменной нужно использовать global
  • Для изменения enclosing переменной - nonlocal
  • Область видимости определяется местом создания переменной, а не вызова функции (лексическая область видимости)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы