3. Типы данных

Хотя в Python существует множество типов данных, есть среди них наиболее распространенные. Например, следующие:

  1. int — этот тип данных состоит из целых чисел.
  2. float — этот тип используется для работы с десятичными числами.
  3. str — переменная с типом str (от string — строка) хранит данные в виде текстовых строк.

Где используется

  • Данные используются в программирования повсеместно, поэтому важно понимать, с какими именно вы сейчас работаете, и какие последствия это накладывает на процесс взаимодействия. Существует множество типов данных, но только некоторые из них используются каждым программистом.
  • int — тип данных для работы с целыми числами, а float — для работы с числами с плавающей точкой. str хранит данные в строковом формате и может включать буквы, символы и цифры. В то же время в int и float использовать символы нельзя — только числа.
  • тип bool состоит всего из двух значений: True или False. Важно отметить, что при инициализации или присваивании значения типа bool True или False нужно вводить без кавычек. Строковые же значения наоборот всегда заключены в кавычки.

Рекомендации по работе с типами данных

  1. Нужно всегда помнить о следующих особенностях типов данных: их форматах, областях применения и возможностях.
  2. Строковые значения всегда заключены в кавычки, тогда как int, float или bool записываются без них.

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


>>> my_сars_number = 3
>>> my_сars_color = "Бронза, зеленый, черный"
>>> print(my_сars_number)
>>> print(my_сars_color)
3
Бронза, зеленый, черный

В этом примере были созданы переменные двух типов данных, после чего они были выведены на экран. my_сars_number — это целое число (int), а my_сars_color — строка (str).

Рассмотрим порядок выполнения этого года:

  1. В первой строке создается переменная my_сars_number, и ей присваивается значение 3. Это внутренний процесс, поэтому увидеть результат этой операции не выйдет, только если не попробовать вывести значение переменной.
  2. На второй строке создается еще одна переменная, которой присваивается свое значение.
  3. На 3 и 4 строках ранее созданные переменные выводятся на экран.

Советы:

А зачем типы данных вообще нужны в Python? Этот вопрос наверняка будет интересовать в первую очередь начинающих программистов.

  1. Если подумать о внутреннем устройстве компьютера, то память в нем занимается распределением, а центральный процессор отвечает за вычисления. Благодаря типам данных компьютер знает, как распределять память, для чего ее использовать и какие операции выполнять с каким типом данных.
  2. Отличное сравнение в данном случае — контейнеры для продуктов. Типы данных можно воспринимать как разные контейнеры. В зависимости от типа еды, ее нужно размещать в соответствующих емкостях.
  3. С другой стороны, если конкретные данные — это целое число, то компьютер может не думать о конвертации их в нижний или верхний регистр, поиске гласных и так далее. Если строка — то здесь уже арифметические операции, поиск квадратного корня, конвертация и прочие команды становятся нерелевантными.

Создадим число с плавающей точкой.


>>> miami_temp_today = 103.40
>>> print(miami_temp_today)
103.4

В этом примере создаем число с плавающей точкой и выводим его на экране.

Продвинутые концепции

В Python есть и много других типов данных, например:

  • байты;
  • комплексные числа;
  • булевые значения.

Есть даже и другие значения в других областях: дата, время, GPS-координаты и так далее. В будущем полезно использовать их особенно в крупных проектах. Но пока что остановимся на базовых.

Посмотрим на булевый тип. Это довольно простая концепция, но более сложный тип данных. Основная сложность в том, что мы не сталкиваемся с таким типом в реальном мире, и поэтому порой его сложновато воспринимать. Булевый тип можно воспринимать как переключатель. Он может быть либо включенным, либо выключенным. В Python это либо True, либо False.

Важно запомнить, что значения этого типа не должны быть заключены в кавычки. Это их основное отличие от строк. По сути, True и "True" — это два разных типа данных в Python: булевое и строка.

В более продвинутых примерах булевые типы окажутся очень полезными.

В следующем примере может показаться, что используется строка, но на самом деле это значение булевого типа. Оно может быть либо True, либо False.


>>> hungry_or_not = True
>>> print(hungry_or_not)
True

Задачи к уроку

Попробуйте решить задачи к этому уроку для закрепления знаний.

1. Присвойте переменной целое число и получите вывод <class 'int'>.

Функция type() возвращает тип объекта. Для решения задачи изменять нужно только первую строку.

# данный код
current_month =
type_var = type(current_month)
print(type_var)
# требуемый вывод:
# <class 'int'>

2. Исправьте ошибки в коде, что бы получить требуемый вывод.

# данный код
polar_radius_title = "Радиус" "Земли"
polar_radius_float = 6378,1 
print(polar_radius_title, polar_radius_float)
# требуемый вывод:
# Радиус Земли 6378.1

3. Создайте переменные, что бы получить требуемый вывод.

# данный код
str_type, int_type, float_type, bool_type = 
print("Типы данных: ", end="")
print(type(str_type), type(int_type, type(float_type), type(bool_type), sep=",")
# требуемый вывод:
# Типы данных: <class 'str'>, <class 'int'>, <class 'float'>, <class 'bool'>

Файл со всем заданиями: https://gitlab.com/PythonRu/python-dlya-nachinayushih/-/blob/master/lesson_3.py.

Тест по типам данных

Пройдите тест к этому уроку для проверки знаний. В тесте 5 вопросов, количество попыток неограниченно.

Тест по типам данных

Какой способ создания строки вернет ошибку
Какой тип переменной is_admin:
is_admin = True
Что выведет этот код:
x = 685.0
print(x)
Как создать переменную с типом float?
Какие типы данных из урока могут содержать цифры?

Если нашли ошибку, опечатку или знаете как улучшить этот урок, пишите на почту. Ее можно найти внизу сайта.

Появились вопросы? Задайте на Яндекс Кью

У блога есть сообщество на Кью >> Python Q <<. Там я и другие участники отвечаем на вопросы по python, программированию и контенту сайта.

Обучение Python и Data Science

Профессия Python-разработчик / Skillbox

Профессия Python-разработчик / Skillbox

7 313 2 925 ₽/мес.
Профессия Python Fullstack / Skillbox

Профессия Python Fullstack / Skillbox

6 569 2 627 ₽/мес.
Профессия Data Scientist / Skillbox

Профессия Data Scientist / Skillbox

9 187 3 675 ₽/мес.
Python-фреймворк на Django / Skillbox

Python-фреймворк на Django / Skillbox

818 ₽/мес.
Профессия DS: машинное обучение / Skillbox

Профессия DS: машинное обучение / Skillbox

6172 2469 ₽/мес.
Профессия DS: анализ данных / Skillbox

Профессия DS: анализ данных / Skillbox

6172 2469 ₽/мес.

Вам помогла эта статья? Поделитесь в соцсетях или блоге. Репосты помогают сайту развиться.

Александр эксперт Яндекс.Кью
Я создал этот блог в 2018 году, чтобы распространять полезные учебные материалы, документации и уроки на русском. На сайте опубликовано множество статей по основам python и библиотекам, уроков для начинающих и примеров написания программ.
Мои контакты: