Инструкция global в Python
Пусть у нас есть внешняя глобальная
переменная i. Также есть функция
func, которая прибавляет к этой
переменной единицу:
i = 0
def func():
i += 1 # выведет ошибку
return i
После выполнения кода вернется ошибка,
потому что происходит конфликт глобальной
i, объявленной во внешней коде, и
локальной i, к которой прибавляется
1, но сама переменная еще не
объявлена. Для того, чтобы исправить данную
проблему и задать функции работу именно с
глобальной переменной, нужно использовать
инструкцию global. Эта инструкция
представляет собой объявление, которое
выполняется для всего текущего блока кода,
в котором оно задано.
Давайте перепишем предыдущий пример, объявив
в теле функции global:
def func():
global i
i += 1
return i
print(func()) # выведет 1
В следующем коде некоторый программист допустил ошибку:
num = 4
def func():
num *= 2
return num
print(func())
Что не так с этим кодом? Найдите и исправьте ошибку автора кода.
В следующем коде некоторый программист допустил ошибку:
num = 10
def func():
num -= 3
return i
print(func())
Что не так с этим кодом? Найдите и исправьте ошибку автора кода.