- Главная
- Информатика
- Локальные и глобальные переменные
Содержание
Глобальные или локальные?
1. В Python, переменные, которые используются в основном коде,
Глобальные или локальные?
1. В Python, переменные, которые используются в основном коде,
def any():
print(v + 1)
v = 1
any()
print(v)
2. Но, как только внутри функции произойдет новое присваивание
этой переменной v, она становится локальной.
def any():
v = 5
print(v + 1)
v = 1
any()
print(v)
3. Если все-таки необходимо и учесть
внешнее значение переменной,
и при этом внутри функции присвоить новое значение, то необходимо явно указать переменную глобальной с помощью оператора global.
def any():
global v
v += 5
print(v + 1)
v = 1
any()
print(v)
Хитрая задача
Почему здесь функция func знает переменную b, когда ее вызывают?
Хитрая задача
Почему здесь функция func знает переменную b, когда ее вызывают?
Получаем 1010
Потому что, в теле функции идет только ссылка на переменную b и в теле функции нет присваивания нового значения b, значит она воспринимается как глобальная.
def func(a):
return a**b
a = 100
b = 10
print(func(b))
Если бы в теле функции переменной b присвоили новое значение, то она стала бы локальной.
def func(a):
b = 2
return a**b
a = 100
b = 10
print(func(b))
Получаем 102