Как понять, тип данных изменяемый или неизменяемый?
Это мой любимый вопрос по этой теме 🤓
Тут важно знать одну вещь: в python существует функция
id(), которая возвращает идентификатор объекта в виде целого числа. Это целое число является адресом места хранения объекта в памяти.• Попробуем применить ее на неизменяемом объекте типа
int:>>> num = 1
>>> id(num)
4367712496
>>> num += 1
>>> id(num)
4367712528Видите 👀? Адрес объекта поменялся! Это значит, что
num после прибавления 1 теперь совершенно другой объект, с другим местом в памяти 😮! • Теперь изменяемый тип данных
list:>>> nums = [1]
>>> id(nums)
4373021952
>>> nums += [1]
>>> id(nums)
4373021952Ага! А тут адрес не изменился! Вывод достаточно очевиден: этот тот же самый объект с тем же самым местом в памяти, и изменился сам объект, а не его адрес!
Вот и все, теперь вы полностью готовы к любым вопросам на собеседовании про типы данных в python, удачи 🍀