Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Хотя обычно мы говорим «переменные» в Python (потому что это общепризнанная терминология), мы в действительности имеем в виду «имена» или «идентификаторы». В Python «переменные» — это ссылки на значения, а не именованные ячейки.
a = b = 1
a = 2
print b
во второй строке «содается новый объект» типа int и назначается ссылка на него. Да, для пользователя в конечном счете это выглядит как работа с переменными по значению. Но с точки зрения «в Python все имена — объекты» для единообразия нужно считать, что присвоение числа создает новый полноценный объект, доступный по адресу-ссылке, со всеми доступными классу int методами и свойствами.Нет. В питоне всё ссылки, даже int.
a = b = 1
b = 2
print a
Code Like a Pythonista: Idiomatic Python (part1)