Основные типы данных в Python для начинающих
При изучении языка программирования одна из первых вещей, с которой вы столкнётесь, — типы данных. Сегодня мы расскажем об одних из наиболее важных типов данных в Python.
234К открытий239К показов
Каждое значение в Python имеет тип. Поскольку всё в Python — объекты, типы являются классами, а значения — экземплярами (объектами) этих классов.
Прим. перев. В Python 2 типы и классы — разные понятия, в то время как в Python 3 это одно и то же.
В Python есть разные типы, давайте рассмотрим самые основные.
Числа
Целые числа, числа с плавающей запятой и комплексные числа относятся к группе чисел. В Python они представлены классами int
, float
и complex
.
Мы можем использовать функцию type()
, чтобы узнать класс переменной или значения, и функцию isinstance()
для проверки принадлежности объекта определённому классу:
Целые числа могут быть любой длины, они ограничиваются лишь доступной памятью.
Числа с плавающей запятой имеют ограниченную точность. Визуально разницу между целым числом и числом с плавающей запятой можно заметить в консоли по наличию точки: 1
— целое число, 1.0
— с плавающей запятой.
Комплексные числа записываются в форме x+yj
, где x
— действительная часть числа, а y
— мнимая. Вот несколько примеров:
Обратите внимание, что значение переменной b
было усечено.
Списки
Список представляет собой упорядоченную последовательность элементов. Он очень гибкий и является одним из самых используемых типов в Python. Элементы списка не обязательно должны быть одного типа.
Объявить список довольно просто. Внутрь квадратных скобок помещаются элементы списка, разделённые запятой:
Мы можем использовать оператор []
для извлечения элемента (такая операция называется “доступ по индексу”) или диапазона элементов (такая операция назвается “извлечение среза”) из списка. В Python индексация начинается с нуля:
Списки являются изменяемым типом, т.е. значения его элементов можно изменить:
Кортежи
Так же как и список, кортеж (tuple) является упорядоченной последовательностью элементов. Вся разница заключается в том, что кортежи неизменяемы.
Кортежи используются для защиты данных от перезаписи и обычно работают быстрее, чем списки, т.к. их нельзя изменять.
Для создания кортежа нужно поместить внутрь круглых скобок элементы, разделённые запятой:
Мы можем использовать оператор извлечения среза []
для извлечения элементов, но мы не можем менять их значения:
Строки
Строка представляет собой последовательность символов. Мы можем использовать одинарные или двойные кавычки для создания строки. Многострочные строки можно обозначить тройными кавычками, '''
или """
:
Как и в случае со списками и кортежами, мы можем использовать оператор []
и со строками. Стоит отметить, что строки в Python относятся к категории неизменяемых последовательностей, то есть все функции и методы могут лишь создавать новую строку.
Множества
Множество является неупорядоченной уникализированной последовательностью. Объявляется множество с помощью элементов, разделённых запятой, внутри фигурных скобок:
Над множествами можно выполнять такие операции, как объединение и пересечение. Т.к. элементы в множестве должны быть уникальны, они автоматически удаляют дубликаты:
Поскольку множество является неупорядоченной последовательностью, оператор извлечения среза здесь не работает:
Словари
Словари — неупорядоченные наборы пар ключ-значение.
Они используются, когда нужно сопоставить каждому из ключей значение и иметь возможность быстро получать доступ к значению, зная ключ. В других языках словари обычно называются map
, hash
или object
. Словари оптимизированы для извлечения данных. Чтобы извлечь значение, нужно знать ключ.
Словарь объявляется парами элементов в форме ключ:значение, заключенными в фигурные скобки:
Значение может быть любого типа, а вот ключ — только неизменяемого.
Мы используем ключ, чтобы получить соответствующее ему значение. Но не наоборот:
Преобразование типов данных
Мы можем преобразовывать значения из одного типа в другой с помощью таких функций, как int()
, float()
, str()
и т.д.
При преобразовании числа с плавающей запятой в целое будет утеряна часть после запятой:
Для преобразования из/в строку должны использоваться совместимые значения:
Можно даже преобразовывать одну последовательность в другую:
Прим. перев. Для преобразования списка из символов обратно в строку нельзя вызвать str(список)
, так как в результате мы получим строковое представление списка (наподобие того, что мы видим, когда выводим список на экран). Вместо этого нужно сделать следующее:
Для преобразования в словарь каждый элемент последовательности должен быть парой:
Интересуетесь Python? Тогда взгляните на нашу подборку книг для программистов любого уровня.
234К открытий239К показов