Оператор id дает адрес переменной, поэтому я сделал следующее
>>> a = "HELLO"
>>> b = "HELLO"
>>> id(a)
140353863080400
>>> id(b)
140353863080400
Я не понимаю, как a, b оба могут ссылаться на один и тот же объект, если бы не было двухстроковые объекты "HELLO" созданы?
Также, когда я сделал то же самое с кортежами (которые, поскольку я думал, что неизменяемые будут следовать описанному выше шаблону), я получил разные результаты
>>> x = (1,2,3,4,5)
>>> y = (1,2,3,4,5)
>>> id(x)
140353863106720
>>> id(y)
140353887969216
Теперь Python создает дваотдельные объекты кортежей Почему в строках и кортежах существует разница в поведении, хотя оба они неизменны?
Я использую python 3.6.1