9
комплексное число и некоторые другие. Из коллекций в Python встроены:
список, кортеж (неизменяемый список), словарь, множество и другие.
Все объекты делятся на ссылочные и атомарные. К атомарным
относятся int, long (в версии 3 любое число int, так как в версии 3 нет
ограничения на размер), complex и некоторые другие. При присваивании
атомарных объектов копируется их значение, в то время как для ссылочных
копируется только указатель на объект, таким образом, обе переменные
после присваивания используют одно и то же значение. Ссылочные объекты
бывают изменяемые и неизменяемые. Например, строки и кортежи являются
неизменяемыми, а списки, словари и многие другие объекты —
изменяемыми. Кортеж в Python является, по сути, неизменяемым списком.
Во многих случаях кортежи работают быстрее списков.
Язык Python изначально задумывался как объектно-ориентированный
язык, соответственно он поддерживает эту парадигму программирования и
имеет средства её реализации.
В действительности весь программный код, написанный на языке
Python[42][43], был основан на объектах (object-based), - везде в сценариях
передаются объекты, используются в выражениях, вызываются их методы и
так далее. Однако, чтобы программный код стал по-настоящему объектно-
ориентированным (ОО), наши объекты должны участвовать в иерархии
наследования.
Для реализации новых типов объектов, поддерживающих
наследование, в языке Python[12] используют классы. Классы в языке Python
создаются с помощью инструкции class. Объекты, определяемые с помощью
классов, очень напоминают встроенные типы.
Основное назначение классов состоит в том, чтобы создавать и
манипулировать новыми объектами, а кроме того, они поддерживают
механизм наследования.
Одно предварительное замечание: ООП в языке Python является
необязательным к применению и не обязательно использовать классы.