В чём разница между изменяемыми и неизменяемыми типами данных в Pyhton?
В питоне есть изменяемые/mutable(списки, словари) и неизменяемые/immutable(кортежи, строки целочисленные) типы данных. Из названия я понимаю в чём суть, и то, что, например, объединение строк в питоне затратная задача, т.к. создается новая строка, а не изменяются старые. Но пока не уверен почему так происходит. Моя догадка, что для изменения сток и чисел и всех неизменяемых данных приходится выделять всегда новое место в памяти и менять указатель. т.е. при a=6 /n a=7. указатель переменной будет указывать на другое место в памяти. А при схожем действии со списком изменится содержимое ячейки памяти, на которую указывает указатель. И собственно поэтому стоит всегда быть аккуратными с изменяемыми даннами(например, при создании переменных в теле класса, а не в __init___). Так ли это? и если да, то можно еще реальных примеров, где это очень важно? допустим, случаи, когда из списка необходимо сделать кортеж, или еще что.