Форум сайта python.su
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]
Отредактировано Karalov86 (Июнь 17, 2016 18:32:05)
Офлайн
2
Если с инглишом проблем нету, то объяснение можно почитать тут
Если в функции создать переменную с таким же именем, то она будет локальной, если обращаться с глобальной переменной (без писания global в функции), то она будет изменяться.
Можете в функции создать
a = []
Отредактировано Puten (Июнь 17, 2016 17:46:14)
Офлайн