"Олег Бройтман. Python - основные концепции " - читать интересную книгу автора

однако, быстро привыкаешь, и это становится очень удобно.

Базовые типы данных

Для языка Python создано несколько интерпретаторов. В дальнейшем я буду
говорить про основной интерпретатор CPython (интерпретатор, написанный на
C).
В этом интерпретаторе базовые (встроенные) типы данных - целое, длинное
целое, вещественное, комплексное числа, строки, списки, кортежи и словари.
Целое в Питоне соответствует типу long того компилятора C, которым
скомпилирован интерпретатор. Длинное целое - это целое число потенциально
бесконечной длины; с помощью таких чисел можно производить вычисления
неограниченной разрядности; длинные целые эмулируются библиотекой,
встроенной в интерпретатор. Вещественное соответствует типу double.
Комплексные числа - это пара вещественных, записываемых в инженерной (а не
математической) нотации: 21 + 12j.
Строки - просто последовательности символов. Строки бывают ASCII и
Unicode, их можно перекодировать друг в друга. ASCII-строки можно также
перекодировать в другую кодировку (например, koi8 "=· win1251)
Списки в качестве элементов могут содержать любые объекты. Списки
неограниченной длины, и в них можно добавлять и удалять элементы, изменяя
таким образом их длину. Списки в Питоне одномерные. Для эмуляции многомерных
массивов можно использовать списки, элементами которых являются списки. Для
эффективной обработки многомерных числовых матриц есть дополнительный модуль
расширения Numerical Python.
Словари (ассоциативные массивы) - это отображения (mapping),
сопоставляющие уникальному ключу произвольный объект. Ключом словаря может
быть любой неизменяемый объект.

Изменяемые и неизменяемые объекты; адресная арифметика и ссылки

Объекты в Питоне бывают двух разновидностей - изменяемые и
неизменяемые. Списки, например - объекты изменяемые, их содержимое и длину
можно менять. Поскольку ключами словарей могут быть только неизменяемые
объекты, в Питоне есть специальный тип неизменяемых списков - кортежи.
Числа, естественно, объекты неизменяемые. Также неизменяемыми являются
строки, в отличии от многих других языков программирования. Хотя классы,
написанные программистами, порождают изменяемые объекты, у программиста есть
возможность написать класс, экземпляры которого могут быть ключами словаря.
Адресной арифметики в Питоне нет. Вообще. Поэтому разименовать нулевой
указатель просто невозможно. Ссылки (указатели) в Питоне есть, но
манипулирование ими осуществляется прозрачно для программиста. В
действительности все переменные в Питоне являются ссылками на объекты;
поэтому, например, запись a = b означает "в переменную a скопировать ссылку
из переменной b". Также списки и словари хранят не объекты, а ссылки на
объекты. Присваивание и разыменование ссылок производится автоматически.
Каждый объект в Питоне хранит счетчик ссылок, и при таком копировании
ссылки этот счетчик увеличивается. Счетчик же ссылок того объекта, на
который переменная a указывала раньше - уменьшается. Когда счетчик достигает
0, объект считается неиспользуемым, для него вызывается деструктор (если это