Теперь, когда вы знаете, как создать и запустить программу, можно приступить к изучению синтаксиса языка. Прежде, чем мы перейдем к рассмотрению переменных, вы должны знать, что типизация в Python динамическая, то есть тип переменной определяется только во время выполнения. Данное отличие может поначалу сбивать с толку, особенно, если вы программировали на языках, где требуется сначала указать тип переменной, а потом уже присваивать ей значение (С, Pascal и др.). В то же время языки с динамической типизацией тоже не редкость - типичный пример РНР, где не нужно объявлять тип переменной перед присвоением значения. Тип будет определен автоматически - по присвоенному значению. С одной стороны, так проще. С другой - это требует от программиста постоянно следить за данными, которые он присваивает переменной, поскольку одна и та же переменная в разные моменты времени может содержать данные разных типов.
В Python имеются встроенные типы: булевый, строка, Unicode-cтpoкa, целое число произвольной точности, число с плавающей запятой, комплексное число и некоторые др. Из коллекций в Python встроены: список, кортеж (неизменяемый список), словарь, множество и др. Все значения являются объектами, в том числе функции, методы, модули, классы.
Все объекты делятся на ссылочные и атомарные. К атомарным относятся int, long ( в версии Python 3 любое число является int, так как, начиная с этой версии, нет ограничения на размер), complex и некоторые другие.
При присваивании атомарных объектов копируется их значение, в то время как для ссылочных копируется только указатель на объект, таким образом, обе переменные после присваивания используют одно и то же значение. Ссылочные объекты бывают изменяемые и неизменяемые. Например, строки и кортежи являются неизменяемыми, а списки, словари и многие другие объекты - изменяемыми. Кортеж в Python является, по сути, неизменяемым списком. Во многих случаях кортежи работают быстрее списков, поэтому если вы не планируете изменять последовательность, то лучше использовать кортежи.
Далее мы поговорим обо всем этом подробнее и рассмотрим основные операции с переменными и поговорим детальнее о типах данных.