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


def test():
    global a
    a = 100

a = 10
test()
print(a)

Код выведет 100. Функция test() изменяет глобальную переменную a, присваивая ей значение 100. Вызов test() устанавливает это значение, и последующий print(a) выводит уже измененное значение глобальной переменной.

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


def test():
    global a
    a = 100

a = 5 # добавлено для наглядности

test()
print(a)
  

Ответ:

Код выведет 100.

Объяснение:

  1. В коде определена функция test(), которая использует ключевое слово global a. Это указывает на то, что внутри функции мы будем работать с глобальной переменной a, а не создавать локальную переменную с тем же именем.
  2. До вызова функции, например, можно присвоить переменной `a` значение 5. Это нужно для наглядности, что было изменено именно глобальное значение, а не просто создалось локальное.
  3. Функция test() вызывается.
  4. Внутри функции test() глобальной переменной a присваивается значение 100.
  5. После завершения работы функции test(), управление возвращается в основную часть программы.
  6. Оператор print(a) выводит значение глобальной переменной a, которое было изменено функцией test(). Таким образом, на экран будет выведено 100.

Важно: Использование глобальных переменных может усложнить отладку и понимание кода, особенно в больших проектах. По возможности, следует избегать их использования и передавать данные между функциями через аргументы и возвращаемые значения.

0