Инструкция 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())
Какво не е наред с този код? Намерете и коригирайте грешката на автора на кода.