Что выведет этот код?


x = 10

def test():
    print(x)

test()

Код выведет 10. Переменная x объявлена в глобальной области видимости и доступна внутри функции test().

Вопрос: Что выведет следующий код?


x = 10
def test():
  print(x)
test()
  

Ответ: Этот код выведет число 10.

Объяснение:

  • Переменная x инициализируется значением 10 в глобальной области видимости.
  • Функция test() пытается получить доступ к переменной x.
  • Поскольку внутри функции test() нет локальной переменной x, Python ищет x в окружающей (глобальной) области видимости.
  • Переменная x найдена в глобальной области видимости и ее значение (10) выводится на экран функцией print().

Важные моменты:

  • Область видимости: Python использует правила LEGB (Local, Enclosing, Global, Built-in) для разрешения имен переменных. В данном случае, поиск происходит в Global области.
  • Если бы внутри функции test() была определена переменная x, например, x = 5, то вывелось бы 5, так как приоритет отдается локальной переменной.
0