Python. Почему в функции меняется глобальная переменная, если я меняю в ней значение через индекс? - Общение Python мододелов
  • Чаты 4chT.com в телеграмм
    Наши группы в телеграмм

Вопрос Python. Почему в функции меняется глобальная переменная, если я меняю в ней значение через индекс?

Регистрация
7 Сен 2013
Сообщения
75
Репутация
0
Спасибо
0
Монет
0
Python. Почему в функции меняется глобальная переменная, если я меняю в ней значение через индекс? Ведь обычно нужно объявлять глобальную переменную
a = [1,2,3]
def song():
a[1] = 4
print(a)
song()
print(a)
#[1, 2, 3]
#[1, 4, 3]
#[1, 4, 3]
 
Регистрация
7 Окт 2013
Сообщения
87
Репутация
0
Спасибо
0
Монет
0
А есть разница в том как менять переменную, через индекс там или ещё что? В процедуре написано "изменить глобальную переменную". Вы эту процедуру вызываете. Переменная честно меняется. Я бы удивился, не изменись она.
 
Регистрация
21 Ноя 2013
Сообщения
86
Репутация
0
Спасибо
0
Монет
0
потому что ты меняешь ГЛОБАЛЬНУЮ переменную из основного кода которая видна внутри любой функции. а вот локальную переменную обьявленную в функции ты изменить не сможешь ни в основном коде ни в другой функции пока не обьявишь ее как глобальную
 
Сверху Снизу