Найти в Дзене
МОЙ РЕПЕТИТОР

Всё, что нужно знать о типах данных в Python

Оглавление

🔥Python — один из самых популярных языков программирования благодаря своей простоте и гибкости. Он имеет свои особенности и правила, которые нужно знать и понимать, чтобы успешно составлять программы на этом языке.

Одна из таких важных особенностей — Python является языком со строгой динамической типизацией. Это значит, что переменные в Python не имеют заранее определённого типа данных. Тип переменной определяется автоматически в процессе создания программы.

Python — язык программирования со строгой динамической типизацией

Возможно, вы когда-нибудь слышали на уроках физики такой вопрос:

«А в чём измеряется величина? Может быть в сапогах, или в гвоздях?» 😃

В школе нам объясняли, что складывать разные типы величин нельзя. Например, 5 килограмм нельзя сложить с 10 ньютонами или 15 секунд со 100 метрами.

❗В программировании, как и в физике, важно соблюдать правила работы с различными типами переменных.

-2

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

Основные типы данных в Python:

Основные типы данных для работы в Python.
Основные типы данных для работы в Python.

Перед тем как освоить выбор подходящего типа данных для переменных в Python, необходимо сначала научиться их создавать. Это и будет отправной точкой нашего обучения 🔜

Создание переменной в Python

В программировании переменные помогают «запомнить» информацию, которую можно будет использовать позже

Например, если программа должна посчитать, сколько денег пользователь потратил в магазине, то она может использовать переменную для хранения суммы покупок. Это позволяет программе не пересчитывать всё заново каждый раз, а просто взять уже сохранённое значение.

Как создать переменную?

Для создания переменной необходимо выполнить следующие действия:

  1. Придумать имя переменной: a, x, count, digit ... [важно не использовать зарезервированные имена, например : int, str, list и так далее]
  2. Присвоить значение переменной через знак равно (a = 5; one = - 12.7)

Напишем код в Python для создания переменной (count). Присвоим ей значение равное (-100). На экран выведем значение переменной.

Программа для создания переменной (count) и вывода переменной на экран.
Программа для создания переменной (count) и вывода переменной на экран.

🔥Отлично! Первая программа готова. Придумали имя переменной, присвоили ей значение равное (-100) и вывели на экран.

📍print() — служебная команда, она используется для вывода текстовой информации на экран или в консоль. Это как сказать компьютеру: «Покажи мне этот текст»

Изменим код программы. Попросим Python вывести на экран не саму переменную, а её тип:

Программа для создания переменной (count) и вывода на экран типа данной переменной.
Программа для создания переменной (count) и вывода на экран типа данной переменной.

📍type() — это встроенная функция в Python, которая используется для определения типа переменной или объекта.

Теперь поближе познакомимся с типами переменных в Python 🔜

⭕Как задать тип переменной в Python?

❗Тип переменной определяется автоматически при присваивании значения

Что значит «определяется автоматически»?

Когда вы создаёте новую переменную вы записываете в неё определенное значение. Это может быть число, строка, список и так далее. В этом весь смысл и вся простота. Что именно вы записали в переменную такой и будет тип!

Если решили записать строку (str), значит переменная будет строчного типа. Захотели присвоить переменной число (25), значит переменная будет целого типа (int).

Создадим несколько переменных с разными типами и выведем их на экран:

Пример создания переменных с разными типами : int, str, list.
Пример создания переменных с разными типами : int, str, list.

⭐В данном примере были созданы 3 переменные : x, stroka и list1. Каждой из этих переменных были присвоены свои значения:

  • В переменную (х) записали число равное 362. Автоматически тип переменной становится (int), целое число.
  • В переменную (stroka) записали строку, равную '277'. И вновь, тип переменной задаётся автоматически. Записали строку ➡ строчный тип (str).
  • В переменную (list1) записали список, состоящий из следующих элементов [2, -5, 27]. Записали в переменную список ➡ тип (list).

📍type() — это встроенная функция в Python, которая используется для определения типа переменной или объекта.

В Python переменные — это имена, которые используются для хранения значений. Они могут хранить числа, строки (текст), списки, словари и другие типы данных.

Важный момент🔻

В процессе написания программы вы можете изменять значения и даже тип ваших переменных.

Код программы на Python, в котором значение переменной (х) изменяется с (362) на (-5).
Код программы на Python, в котором значение переменной (х) изменяется с (362) на (-5).

В данном примере мы сначала записали в переменную (х) число 362 (тип int) и вывели на экран. После этого значение переменной (х) изменили на (-5) и тоже вывели на экран.

Важный момент🔻

Строго говоря, присваивание значений переменным в Python работает иначе. Переменные напрямую не содержат значения внутри себя. Переменная является ссылкой на место в памяти компьютера, где будет хранится информация об этой переменной.

📍Это называется ссылочным типом хранения данных. В Python всё хранится по ссылкам, а не как копии.

Переменная — это просто название, которое содержит в себе ссылку на
какое-то конкретное значение в области памяти.
  1. x = 362 — здесь переменной (x) присваивается значение 362. Создаётся ссылка на ячейку памяти, в которой хранится значение 362, и переменная (x) теперь указывает на эту ячейку.
  2. x = -5 — затем переменной (x) присваивается новое значение 5. Теперь переменная (x) указывает на другую ячейку памяти, содержащую значение 5, а предыдущая ссылка (на 362) теряется.
-8

⭕Тип данных : 'float'

Код программы для создания переменной типа (float). Вывод переменной и её типа на экран.
Код программы для создания переменной типа (float). Вывод переменной и её типа на экран.

Тип данных float в Python — это числа с дробной частью, которые могут быть очень большими или очень маленькими. Например, 3.14 или 0.0001

Float используется для вычислений, где нужна точность до десятых, сотых и более знаков после запятой.

Такие числа могут быть как положительными, так и отрицательными. Тип данных float позволяет проводить различные математические операции с этими числами.

Какие операции поддерживает тип float:

  • основные арифметические операции (+, -, *, /)
  • функции для работы с числами (например, sqrt, sin, cos и так далее)

⭕Тип данных : 'int'

Тип данных (int) в Python используется для работы с целыми числами. Это один из основных типов данных в языке программирования Python.

Код программы для создания переменной типа (int) и вывода её на экран.
Код программы для создания переменной типа (int) и вывода её на экран.

Где встречается тип данных (int):

  1. Cчётчики. Если вам нужно подсчитать количество объектов или событий. Вы можете создать переменную count и увеличивать её каждый раз, когда ваше событие происходит. Например : count += 1
  2. Индексы и позиции. В Python индексы массивов и списков начинаются с 0, поэтому для их хранения используются целые числа. Например: s[0], stroka[2]
  3. Условия и циклы. Тип (int) может использоваться в условиях if и while для проверки значений.
  4. Математические операции. Поскольку int предназначен для работы с целыми числами, он широко используется в математических операциях.
  5. Кодирование и декодирование. В некоторых случаях тип int используется для кодирования и декодирования данных. Перевод из одной системы счисления в другую.

Какие операции поддерживает (int):

Основные операции для типа данных (int).
Основные операции для типа данных (int).

Основные операции с числами:

Умножение чисел типа (int)

Пример кода на Python (операция умножения для типа int)
Пример кода на Python (операция умножения для типа int)

Деление чисел типа «/» (int)

Пример создания двух переменных типа (int). Вывод на экран результата операции деления.
Пример создания двух переменных типа (int). Вывод на экран результата операции деления.

Оператор «/» (слэш) выполняет деление чисел и возвращает результат в виде числа с плавающей точкой (float). Это значит, что при делении одного числа на другое вы получите десятичную дробь.

❗Обратите внимание, что переменные (а) и (b) имеют целочисленный тип переменных (int). Но, при использовании оператора «/», результат получается типа (float).

Целочисленное деление «//» (int)

Пример работы целочисленного деления в Python.
Пример работы целочисленного деления в Python.

В Python целочисленное деление обозначается двумя слэшами (//) и возвращает целое число типа (int), отбрасывая остаток.

  • 5 // 2 = 2 (остаток 1)
Тип данных int в Python используется для работы с целыми числами.

⭕Тип данных : 'list'

Весь необходимый материал по спискам в Python вы сможете найти в этой статье 🔽

Обязательно к прочтению! 😉

⭕Тип данных : 'str'

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

  • Строки могут быть созданы с помощью одинарных или двойных кавычек
  • Строки являются неизменяемыми последовательностями, то есть после создания строки её содержимое не может быть изменено
  • Внутри кавычек может быть написан любой объект: буквы, цифры и другие символы

Чтобы напечатать (' ') данный символ, необходимо нажать на клавишу (э) на английской раскладке клавиатуры (ENG).

Код программы для создания переменной (n) строчного типа. Вывод переменной на экран.
Код программы для создания переменной (n) строчного типа. Вывод переменной на экран.

Основные операции со строками:

Конкатенация (соединение)

Создание двух переменных типа (str). Вывод на экран результат их сложения.
Создание двух переменных типа (str). Вывод на экран результат их сложения.

Добавили пробел между двумя строками для читаемости. Без пробела ответ будет: «Какдела?». Пробел тоже склеивается с двумя строками через оператор (+).

При сложении двух строк в Python будет выполнена операция конкатенации (склеивания)

Длина строки len()

с помощью функции len() можно узнать длину строки

Программа на Python для определения количества символов в строке (s) и строке (d).
Программа на Python для определения количества символов в строке (s) и строке (d).
Длина строки - количество символов, из которых состоит строка.

Функция len() применима только к итерируемым объектам, таким как: список (list), строка (str), кортеж (tuple), словарь (dict).

📍len — сокращенно от английского length (длина)

Доступ к символам строки (index)

С помощью индексов можно получить доступ к любому элементу строки. Для этого необходимо рядом с именем переменной указать индекс нужного элемента.

Вывод на экран различных символов строки (st) с помощью индексов.
Вывод на экран различных символов строки (st) с помощью индексов.

❗Индекс первого символа равен 0

  • st[0] — нулевой индекс строки (st) или первый символ строки (st) [A]
  • st[1] — первый индекс строки (st) или второй символ строки (st) [c]
  • st[3] — третий индекс строки (st) или четвёртый символ строки (st) [f]
-19

Выбор типа данных в Python

Выбор типа данных в Python — это один из ключевых аспектов программирования. Он оказывает значительное влияние на производительность, читаемость и безопасность кода.

Важные моменты, которые стоит учитывать:

  • Эффективность использования памяти

Разные типы данных требуют разное количество памяти. Например, целые числа (int) занимают меньше памяти, чем строки (str). Или использование (int) вместо (float) для целых чисел экономит память, а также может увеличить скорость выполнения операций.

Структуры данных, такие как списки и кортежи, могут иметь разные временные характеристики при выполнении операций (добавление, удаление, поиск).

✅ Правильный выбор типа данных позволяет оптимизировать использование памяти и ускорить выполнение программы.

  • Безопасность типов

Python является языком с динамической типизацией, что позволяет гибко работать с переменными.

Однако, использование неправильного типа данных может привести к ошибкам и сбоям в программе. Например, некоторые операции типа (int) не применимы к типу (str). Будьте внимательны при решении задач. С каким типом данных вы работаете?

❌ Пример некорректной работы программы из-за ошибки в выборе типа переменных:

Попытка сложить разные типы данных (str) + (int).
Попытка сложить разные типы данных (str) + (int).

Внимательно смотрим на надпись, которую выдаёт нам Python. Попробуем разобраться, что означает данная ошибка:

  • TypeError — Ошибка типа (в переводе с английского) или ошибка в типах переменных
  • can only concatenate str (not "int") to str — можно только объединять str (не "int") в str (в переводе с английского)

Вы пытаетесь выполнить действие не применимое для данных типов переменных. В Python нельзя складывать числа со строками. Это называется строгая типизация!

Складывать можно отдельно числа с числами (int) + (int) или строки со строками (str) + (str)

Увидели такую ошибку - обязательно проверьте тип каждой переменной.

Интересная задача для понимания типов переменных в Python

💠Условие:

Вам дано целое положительное, трёхзначное число. Необходимо вывести на экран сумму первой и третьей цифры этого числа.

Пусть дано число х = 362. Тогда, первая цифра числа это 3, третья цифра это 2. Сумма этих цифр: 3 + 2 = 5. Программа должна вывести на экран число 5.

💠Решение:

Попробуем записать решение этой задачи на Python. По условию, на вход программы поступает целое положительное число. Создадим переменную (х) и запишем в неё наше число (362).

x = 362

Важный момент🔻

Какой тип данных вы записываете в переменную, такой и будет переменная. Значит, переменная (x) будет типа (int), целое и положительное число.

Чтобы сложить первую и третью цифра числа, нужно как - то получить эти цифры. Точнее, попробовать «вытащить» эти цифры.

Как нам «вытащить» цифру из числа?

✅Для этого можно использовать индексы в Python. Индексы используются для доступа к элементам. Они позволяют получать или изменять отдельные элементы коллекции.

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

Хорошо. Тогда создадим две новые переменные:

  • one — переменная для первой цифры числа
  • x[0] — нулевой индекс числа (х) или первая цифра числа (х)
-21
  • three — переменная для третьей цифры числа
  • x[2] — второй индекс числа (х) или третья цифра числа (х)

Попробуем вывести на экран сумму двух переменных (one) и (three). Это и будет ответ к нашей задаче:

Первый вариант решения программы.
Первый вариант решения программы.

❗После запуска программы появляется ошибка. Почему?

Поближе посмотрим на надпись, которую выдаёт нам Python. Попробуем разобраться, что означает данная ошибка:

  • Type Error — Ошибка типа (в переводе с английского)
  • 'int' object is not subscriptable — 'int' не поддерживает индексацию

🔥И вот здесь то и начинается самое интересное!

Программа не работает, потому что некорректно выбран тип переменной. Индексы в Python могут работать только с упорядоченными коллекциями данных. Такие как: списки (list), строки (str) и кортежи (touple).

То есть мы не можем использовать индексы для работы с целыми числами. Нельзя использовать индексы для переменных типа (int), (float)

НОИндексы можно использовать для строк (str)

Это значит, что мы с лёгкостью можем перевести наше число из (int) в тип (str).

-23
Второй вариант решения программы. Исходное число перевели из (int) в (str).
Второй вариант решения программы. Исходное число перевели из (int) в (str).

Отлично! Программа работает... но ответ получился неправильный. Почему 32?

Важный момент🔻

Мы изменили тип исходного числа с (int) на (str). В переменные (one) и (three) записали первый и третий символ строки. Следовательно, переменные (one) и (three) тоже будут иметь строчный тип (str), как часть строки (one).

  • one = x[0] — строчный тип (str)
  • three = x[2] — строчный тип (str)

Важный момент🔻

При сложении двух строк в Python будет выполнена операция конкатенации (склеивания)

Пример работы оператора (+) для двух строк. Сложение (конкатенация) строк.
Пример работы оператора (+) для двух строк. Сложение (конкатенация) строк.

Так как наши переменные (one) и (three) строчные, то при их сложении мы получим не число, а снова строку. Именно поэтому на выходе будет ответ 32, то есть 3 + 2 = 32 для строчных переменных.

❸ Важный момент🔻

Рассуждаем логически. При сложении строк в Python они склеиваются. Нам это не подходит. Для правильного решения задания необходимо получить число 5, сложить цифры 3 и 2. Для правильного сложения цифр они должны быть целого типа (int), а не строчного (str).

✅Вывод: перевести переменные (one) и (three) из строчного типа (str) в числовой тип (int).

Для этого используем метод (int), который преобразует строку или число другого типа в целое число.

-26
Пример работы функции (int), которая менят тип переменной со строчного (str) на числовой.
Пример работы функции (int), которая менят тип переменной со строчного (str) на числовой.

⭐Перед тем, как записать итоговое решение программы на Python, ещё раз вспомним основные моменты:

  1. Для получения доступа к цифрам числа используем индексы.
  2. Переменную (x) преобразуем в строку. Так как индексы в Python могут работать только с упорядоченными коллекциями данных (str).
  3. При вычислении ответа переменные (one) и (tree) преобразуем в целый тип (int), чтобы выполнить операцию сложения. Иначе, будет выполнена конкатенация строк.

🔥ИТОГОВАЯ ПРОГРАММА:

Кода программы для решения задачи на сумму первой и третьей цифры числа в Python.
Кода программы для решения задачи на сумму первой и третьей цифры числа в Python.

Если вам удалось избежать ошибок, то в качестве ответа вы увидите заветное число:

Ответ: 5

👏 Поздравляю! Получен верный ответ и программа работает без ошибок.

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

Удачи!

🔜Материалы для успешной подготовки к ЕГЭ по информатике:

Решение задания №12 ЕГЭ Информатика (Python) [2 часть]
МОЙ РЕПЕТИТОР1 декабря 2024