def test():
    global a
    a = 100
a = 10
test()
print(a)
test() изменяет глобальную переменную a, присваивая ей значение 100.  Вызов test() устанавливает это значение, и последующий print(a) выводит уже измененное значение глобальной переменной.
Вопрос: Что выведет следующий код?
def test():
    global a
    a = 100
a = 5 # добавлено для наглядности
test()
print(a)
  Ответ:
Код выведет 100.
Объяснение:
test(), которая использует ключевое слово global a.  Это указывает на то, что внутри функции мы будем работать с глобальной переменной a, а не создавать локальную переменную с тем же именем.test() вызывается.test() глобальной переменной a присваивается значение 100.test(), управление возвращается в основную часть программы.print(a) выводит значение глобальной переменной a, которое было изменено функцией test().  Таким образом, на экран будет выведено 100.Важно: Использование глобальных переменных может усложнить отладку и понимание кода, особенно в больших проектах. По возможности, следует избегать их использования и передавать данные между функциями через аргументы и возвращаемые значения.