Чтобы более наглядно представить основные типы данных в языке программирования Python, была составлена таблица с двумя столбцами:
- название типа
- пример, литерал и вариант создания
Литерал (literal) в языке Python — это выражение, создающее объект. Типы данных – объекты какого-то определенного типа.
Вы наверняка уже знакомы со многими из этих типов данных по опыту программирования на других языках, в любом случае, из их названий уже и так становится понятно для чего они предназначены.
Стоит отметить, что у указанных в таблице ниже типов данных больше возможностей по сравнению с другими языками. Например, списки (lists) и словари (dictionaries) сами по себе уже обладают большими возможностями для представления данных, упрощая работу программиста по освобождению памяти и поиску элементов по сравнению с низкоуровневыми языками программирования.
Списки (lists) представляют собой упорядоченную последовательность объектов, а словари (dictionaries) хранят объекты, ассоциируя их с каким-то ключевым значением. Списки и словари могут быть вложенными, могут быть увеличены или уменьшены по необходимости, а также могут содержать объекты любого типа.
Object type | Example literals/creation |
Numbers | 1234, 3.1415, 3+4j, 0b111, Decimal(), Fraction() |
Strings | ‘spam’, «Bob’s», b’ax01c’, u’spxc4m’ |
Lists | [1, [2, ‘three’], 4.5], list(range(10)) |
Dictionaries | {‘food’: ‘spam’, ‘taste’: ‘yum’}, dict(hours=10) |
Tuples | (1, ‘spam’, 4, ‘U’), tuple(‘spam’), namedtuple |
Files | open(‘eggs.txt’), open(r’C:ham.bin’, ‘wb’) |
Sets | set(‘abc’), {‘a’, ‘b’, ‘c’} |
Other core types | Booleans, types, None |
Program unit types | Functions, modules, classes |
Implementation-related types | Compiled code, stack tracebacks |
Как показано в таблице, блоки программы (program units) такие как функции (functions), модули (modules), классы (classes) также являются объектами в Python. Они создаются с помощью специальных выражений, таких как def, class, import, lambda и могут передаваться как параметры в программе, хранить в себе другие объекты и так далее. Python также имеет набор типов связанных с использованием откомпилированного кода.
Приведенный список типов данных нельзя считать всеобъемлющим, потому что все с чем мы работаем в Python в какой-то степени и есть объекты. Например, когда мы работаем с сетью, мы используем такие объекты как sockets. Другой класс объектов – импортированные функции из библиотек модулей.
Объекты, отображенные в таблице выше, принято называть основными, потому что они являются стандартными для Python и существуют специальные выражения языка для их создания. Вот, например, создание такого объекта как строка (обратите внимание на одинарные кавычки):
- >>> ‘spam’
Это команда создаст и вернет новый объект – строку; кавычки являются частью синтаксиса для объявления строкового типа данных. Подобно кавычками, используются квадратные скобки для объявления списков, фигурные – для словарей и так далее.
Важно: когда Вы создали объект, Вы можете использовать только тот набор операций, который применим к объектам этого типа, к строкам – строковые, к спискам – операции для работы со списками. Формально это означает, что Python – это язык с динамической типизацией, т.е. он автоматически определяет тип данных. Однако, Вы всегда должны помнить о том, с каким объектом работаете и использовать только операции доступные для этого типа.
Желаю удачи в изучении Python