Типизация в Python. Типы данных, переменные | OTUS
🔥 Начинаем BLACK FRIDAY!
Максимальная скидка -25% на всё. Успейте начать обучение по самой выгодной цене.
Выбрать курс

Курсы

Программирование
iOS Developer. Basic
-25%
Python Developer. Professional
-25%
Разработчик на Spring Framework
-25%
Golang Developer. Professional
-25%
Python Developer. Basic
-25%
iOS Developer. Professional
-25%
Highload Architect
-25%
JavaScript Developer. Basic
-25%
Kotlin Backend Developer
-25%
JavaScript Developer. Professional
-25%
Android Developer. Basic
-25%
Unity Game Developer. Basic
-25%
Разработчик C#
-25%
Программист С Web-разработчик на Python Алгоритмы и структуры данных Framework Laravel PostgreSQL Reverse-Engineering. Professional CI/CD Vue.js разработчик VOIP инженер Программист 1С Flutter Mobile Developer Супер - интенсив по Kubernetes Symfony Framework Advanced Fullstack JavaScript developer Супер-интенсив "Azure для разработчиков"
Инфраструктура
Мониторинг и логирование: Zabbix, Prometheus, ELK
-25%
DevOps практики и инструменты
-25%
Архитектор сетей
-25%
Инфраструктурная платформа на основе Kubernetes
-25%
Супер-интенсив «ELK»
-16%
Супер-интенсив «IaC Ansible»
-16%
Супер-интенсив "SQL для анализа данных"
-16%
Базы данных Сетевой инженер AWS для разработчиков Cloud Solution Architecture Разработчик голосовых ассистентов и чат-ботов Внедрение и работа в DevSecOps Администратор Linux. Виртуализация и кластеризация Нереляционные базы данных Супер-практикум по использованию и настройке GIT IoT-разработчик Супер-интенсив «СУБД в высоконагруженных системах»
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

Типизация в Python. Типы данных, переменные

Переменные — зарезервированные ячейки памяти, используемые в Python для хранения значений. Типы данных переменной бывают разные, а на основе типа данных интерпретатор осуществляет выделение необходимого объёма памяти. В этой статье мы рассмотрим 6 основных типов данных в Python.

Числа

Для хранения числовых значений используют числовые типы данных. Создание числовых объектов не вызывает затруднений:

var1 = 1
var2 = 10

Ссылка на числовой объект без проблем удаляется с помощью оператора del. Синтаксис:

del var1[,var2[,var3[....,varN]]]]

В Python поддерживаются 3 разных числовых типа: — целые числа со знаком (int); — значения с плавающей запятой (float); — комплексные числа (complex).

В Python 3 все целые числа представлены как long числа, то есть отдельного типа long нет.

Чтобы узнать класс переменной либо значения, мы можем использовать функции type() и isinstance(). Это позволяет проверить принадлежность объекта конкретному классу:

>>> a = 5
>>> print(a, "is of type", type(a))
5 is of type <class 'int'>
>>> a = 2.0
>>> print(a, "is of type", type(a))
2.0 is of type <class 'float'>
>>> a = 1+2j
>>> print(a, "is complex number?", isinstance(1+2j, complex))
(1+2j) is complex number? True

У чисел с плавающей запятой ограниченная точность. Визуально разница видна в консоли по наличию точки: 1.0 — число с плавающей запятой, 1 — целое число.

Что касается комплексных чисел, то они записываются в виде x+yj. Х в данном случае — действительная часть числа, Y — мнимая. Примеры:

>>> a = 1234567890123456789
>>> a
1234567890123456789
>>> b = 0.1234567890123456789
>>> b
0.12345678901234568
>>> c = 1+2j
>>> c
(1+2j)

Здесь следует учесть, что значение переменной b усечено.

Списки

Список — упорядоченная последовательность элементов. Этот тип данных используется в Python очень часто. Кстати, все элементы списка не обязательно должны иметь один и тот же тип.

Объявить список несложно. Элементы помещаются внутрь квадратных скобок и разделяются запятой:

>>> a = [1, 2.2, 'python']

Для доступа к значениям списка используют оператор среза []. Индексация в Python начинается с нуля:

>>> a = [5,10,15,20,25,30,35,40]
>>> print("a[2] =", a[2])
a[2] = 15
>>> print("a[0:3] =", a[0:3])
a[0:3] = [5, 10, 15]
>>> print("a[5:] =", a[5:])
a[5:] = [30, 35, 40]

Списки — изменяемый тип, т. е. значения элементов можно менять:

>>> a = [1,2,3]
>>> a[2] = 4
>>> a
[1, 2, 4]

Кортежи

Кортежи, как и списки — это упорядоченные последовательности элементов, только они неизменяемы. Кроме того, кортежи заключены в круглые скобки. Их используют для защиты данных о перезаписи. Эти типы данных можно рассматривать как «списки только для чтения».

Создаём кортеж:

>>> t = (5,'program', 1+3j)

Для извлечения элементов также используют оператор среза []. Но поменять значения не получится:

>>> t = (5,'program', 1+3j)
>>> print("t[1] =", t[1])
t[1] = program
>>> print("t[0:3] =", t[0:3])
t[0:3] = (5, 'program', (1+3j))
# Приведёт к ошибке, т. к.
# кортежи неизменяемы
>>> t[0] = 10

Строки

Строка — непрерывный набор символов, которые размещаются в двойных или одинарных кавычках:

>>> s = "Простая строка"
>>> s = '''многострочная
строка'''

Как и в случае с кортежами и списками, можно применять []. Строки — тип данных, который относится к категории неизменяемых последовательностей.

Множества

Неупорядоченная уникализированная последовательность, объявляемая посредством элементов, которые разделены запятой внутри фигурных скобок:

>>> a = {5,2,3,1,4}
# вывод переменной множества
>>> print("a =", a)
a = {1, 2, 3, 4, 5}
# тип данных переменной а
>>> print(type(a))
<class 'set'>

Можно выполнять объединение и пересечение множеств. Так как все элементы должны быть уникальными, дубликаты автоматически удаляются:

>>> a = {1,2,2,3,3,3}
>>> a
{1, 2, 3}

Раз последовательность не упорядочена, оператор извлечения среза не работает.

Словари

Словари — это хеш-таблицы или неупорядоченные наборы пар типа «ключ-значение». Работают, как ассоциативные массивы. Используются, если нужно сопоставить значение какому-нибудь ключу, чтобы иметь возможность получить доступ к этому значению, имея соответствующий ключ. В других языках программирования словари называют map, hash, object.

Словарь оптимизирован для извлечения данных. Он объявляется парами элементов в виде ключ:значение, которые заключены в фигурные скобки:

>>> d = {1:'value', 'key':2}
>>> type(d)
<class 'dict'>

Ключ используется для получения значения, которое ему соответствует. Не наоборот!

>>> d = {1:'value', 'key':2}
>>> print("d[1] =", d[1]);
d[1] = value
>>> print("d['key'] =", d['key']);
d['key'] = 2
# Приведёт к ошибке
>>> print("d[2] =", d[2]);

Преобразование типов данных

Мы можем преобразовывать значения из одного типа в другой с помощью таких функций, как int(), str(), float() и других:

>>> float(5)
5.0

Когда происходит преобразование числа с плавающей запятой в целое, то теряется часть после запятой:

>>> int(10.6)
10
>>> int(-10.6)
-10

Преобразование в словарь требует, чтобы каждый элемент последовательности был парой:

>>> dict([[1,2],[3,4]])
{1: 2, 3: 4}
>>> dict([(3,26),(4,44)])
{3: 26, 4: 44}

Подробнее о преобразовании типов данных в Python смотрите в таблице ниже:

1-20219-c7ad83.jpg

Материал «Типизация в Python. Типы данных, переменные» подготовлен специально для OTUS на основании статьи «Python Data Types».

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
🎁 Максимальная скидка!
Черная пятница уже в OTUS! Скидка -25% на всё!