Назад отскакиваем на темы переменных. Каких двух видов они бывают
изменяемые и не изменяемые, имеешь ввиду?
т.е. так как лист изменяемый - то при вызове метода append, происходит его изменение. а в случае с переменной типа int, - так мы сделать не можем. поэтому нужно nonlocal?
Изменяемость тут ни при чём. С помощью a = a + "1" ты присваиваешь новое значение переменной а. То есть кладешь в неё новый объект. А когда ты делаешь c.append(1), в переменной с остаётся тот же объект, но сам объект меняется. Попробуй сделать c = c + [1]. Советую к прочтению: https://nedbatchelder.com/text/names.html
Обсуждают сегодня