🔥Python — один из самых популярных языков программирования благодаря своей простоте и гибкости. Он имеет свои особенности и правила, которые нужно знать и понимать, чтобы успешно составлять программы на этом языке.
Одна из таких важных особенностей — Python является языком со строгой динамической типизацией. Это значит, что переменные в Python не имеют заранее определённого типа данных. Тип переменной определяется автоматически в процессе создания программы.
Python — язык программирования со строгой динамической типизацией
Возможно, вы когда-нибудь слышали на уроках физики такой вопрос:
«А в чём измеряется величина? Может быть в сапогах, или в гвоздях?» 😃
В школе нам объясняли, что складывать разные типы величин нельзя. Например, 5 килограмм нельзя сложить с 10 ньютонами или 15 секунд со 100 метрами.
❗В программировании, как и в физике, важно соблюдать правила работы с различными типами переменных.
От выбора типа данных зависит набор действий и правил, которыми вы будете пользоваться. Для каждой задачи и для каждой переменной нужно выбрать свой тип!
Основные типы данных в Python:
Перед тем как освоить выбор подходящего типа данных для переменных в Python, необходимо сначала научиться их создавать. Это и будет отправной точкой нашего обучения 🔜
⭕Создание переменной в Python
В программировании переменные помогают «запомнить» информацию, которую можно будет использовать позже
Например, если программа должна посчитать, сколько денег пользователь потратил в магазине, то она может использовать переменную для хранения суммы покупок. Это позволяет программе не пересчитывать всё заново каждый раз, а просто взять уже сохранённое значение.
Как создать переменную?
Для создания переменной необходимо выполнить следующие действия:
- Придумать имя переменной: a, x, count, digit ... [важно не использовать зарезервированные имена, например : int, str, list и так далее]
- Присвоить значение переменной через знак равно (a = 5; one = - 12.7)
Напишем код в Python для создания переменной (count). Присвоим ей значение равное (-100). На экран выведем значение переменной.
🔥Отлично! Первая программа готова. Придумали имя переменной, присвоили ей значение равное (-100) и вывели на экран.
📍print() — служебная команда, она используется для вывода текстовой информации на экран или в консоль. Это как сказать компьютеру: «Покажи мне этот текст»
Изменим код программы. Попросим Python вывести на экран не саму переменную, а её тип:
📍type() — это встроенная функция в Python, которая используется для определения типа переменной или объекта.
Теперь поближе познакомимся с типами переменных в Python 🔜
⭕Как задать тип переменной в Python?
❗Тип переменной определяется автоматически при присваивании значения
Что значит «определяется автоматически»?
Когда вы создаёте новую переменную вы записываете в неё определенное значение. Это может быть число, строка, список и так далее. В этом весь смысл и вся простота. Что именно вы записали в переменную такой и будет тип!
Если решили записать строку (str), значит переменная будет строчного типа. Захотели присвоить переменной число (25), значит переменная будет целого типа (int).
Создадим несколько переменных с разными типами и выведем их на экран:
⭐В данном примере были созданы 3 переменные : x, stroka и list1. Каждой из этих переменных были присвоены свои значения:
- В переменную (х) записали число равное 362. Автоматически тип переменной становится (int), целое число.
- В переменную (stroka) записали строку, равную '277'. И вновь, тип переменной задаётся автоматически. Записали строку ➡ строчный тип (str).
- В переменную (list1) записали список, состоящий из следующих элементов [2, -5, 27]. Записали в переменную список ➡ тип (list).
📍type() — это встроенная функция в Python, которая используется для определения типа переменной или объекта.
В Python переменные — это имена, которые используются для хранения значений. Они могут хранить числа, строки (текст), списки, словари и другие типы данных.
❶ Важный момент🔻
В процессе написания программы вы можете изменять значения и даже тип ваших переменных.
В данном примере мы сначала записали в переменную (х) число 362 (тип int) и вывели на экран. После этого значение переменной (х) изменили на (-5) и тоже вывели на экран.
❷ Важный момент🔻
Строго говоря, присваивание значений переменным в Python работает иначе. Переменные напрямую не содержат значения внутри себя. Переменная является ссылкой на место в памяти компьютера, где будет хранится информация об этой переменной.
📍Это называется ссылочным типом хранения данных. В Python всё хранится по ссылкам, а не как копии.
Переменная — это просто название, которое содержит в себе ссылку на какое-то конкретное значение в области памяти.
- x = 362 — здесь переменной (x) присваивается значение 362. Создаётся ссылка на ячейку памяти, в которой хранится значение 362, и переменная (x) теперь указывает на эту ячейку.
- x = -5 — затем переменной (x) присваивается новое значение 5. Теперь переменная (x) указывает на другую ячейку памяти, содержащую значение 5, а предыдущая ссылка (на 362) теряется.
⭕Тип данных : 'float'
Тип данных float в Python — это числа с дробной частью, которые могут быть очень большими или очень маленькими. Например, 3.14 или 0.0001
Float используется для вычислений, где нужна точность до десятых, сотых и более знаков после запятой.
Такие числа могут быть как положительными, так и отрицательными. Тип данных float позволяет проводить различные математические операции с этими числами.
Какие операции поддерживает тип float:
- основные арифметические операции (+, -, *, /)
- функции для работы с числами (например, sqrt, sin, cos и так далее)
⭕Тип данных : 'int'
Тип данных (int) в Python используется для работы с целыми числами. Это один из основных типов данных в языке программирования Python.
Где встречается тип данных (int):
- Cчётчики. Если вам нужно подсчитать количество объектов или событий. Вы можете создать переменную count и увеличивать её каждый раз, когда ваше событие происходит. Например : count += 1
- Индексы и позиции. В Python индексы массивов и списков начинаются с 0, поэтому для их хранения используются целые числа. Например: s[0], stroka[2]
- Условия и циклы. Тип (int) может использоваться в условиях if и while для проверки значений.
- Математические операции. Поскольку int предназначен для работы с целыми числами, он широко используется в математических операциях.
- Кодирование и декодирование. В некоторых случаях тип int используется для кодирования и декодирования данных. Перевод из одной системы счисления в другую.
Какие операции поддерживает (int):
Основные операции с числами:
❏ Умножение чисел типа (int)
❏ Деление чисел типа «/» (int)
Оператор «/» (слэш) выполняет деление чисел и возвращает результат в виде числа с плавающей точкой (float). Это значит, что при делении одного числа на другое вы получите десятичную дробь.
❗Обратите внимание, что переменные (а) и (b) имеют целочисленный тип переменных (int). Но, при использовании оператора «/», результат получается типа (float).
❏ Целочисленное деление «//» (int)
В Python целочисленное деление обозначается двумя слэшами (//) и возвращает целое число типа (int), отбрасывая остаток.
- 5 // 2 = 2 (остаток 1)
Тип данных int в Python используется для работы с целыми числами.
⭕Тип данных : 'list'
Весь необходимый материал по спискам в Python вы сможете найти в этой статье 🔽
Обязательно к прочтению! 😉
⭕Тип данных : 'str'
представляет собой последовательность символов. Он используется для хранения и обработки текстовых данных.
- Строки могут быть созданы с помощью одинарных или двойных кавычек
- Строки являются неизменяемыми последовательностями, то есть после создания строки её содержимое не может быть изменено
- Внутри кавычек может быть написан любой объект: буквы, цифры и другие символы
Чтобы напечатать (' ') данный символ, необходимо нажать на клавишу (э) на английской раскладке клавиатуры (ENG).
Основные операции со строками:
❏ Конкатенация (соединение)
Добавили пробел между двумя строками для читаемости. Без пробела ответ будет: «Какдела?». Пробел тоже склеивается с двумя строками через оператор (+).
При сложении двух строк в Python будет выполнена операция конкатенации (склеивания)
❏ Длина строки len()
с помощью функции len() можно узнать длину строки
Длина строки - количество символов, из которых состоит строка.
Функция len() применима только к итерируемым объектам, таким как: список (list), строка (str), кортеж (tuple), словарь (dict).
📍len — сокращенно от английского length (длина)
❏ Доступ к символам строки (index)
С помощью индексов можно получить доступ к любому элементу строки. Для этого необходимо рядом с именем переменной указать индекс нужного элемента.
❗Индекс первого символа равен 0
- st[0] — нулевой индекс строки (st) или первый символ строки (st) [A]
- st[1] — первый индекс строки (st) или второй символ строки (st) [c]
- st[3] — третий индекс строки (st) или четвёртый символ строки (st) [f]
⭕Выбор типа данных в Python
Выбор типа данных в Python — это один из ключевых аспектов программирования. Он оказывает значительное влияние на производительность, читаемость и безопасность кода.
Важные моменты, которые стоит учитывать:
- Эффективность использования памяти
Разные типы данных требуют разное количество памяти. Например, целые числа (int) занимают меньше памяти, чем строки (str). Или использование (int) вместо (float) для целых чисел экономит память, а также может увеличить скорость выполнения операций.
Структуры данных, такие как списки и кортежи, могут иметь разные временные характеристики при выполнении операций (добавление, удаление, поиск).
✅ Правильный выбор типа данных позволяет оптимизировать использование памяти и ускорить выполнение программы.
- Безопасность типов
Python является языком с динамической типизацией, что позволяет гибко работать с переменными.
Однако, использование неправильного типа данных может привести к ошибкам и сбоям в программе. Например, некоторые операции типа (int) не применимы к типу (str). Будьте внимательны при решении задач. С каким типом данных вы работаете?
❌ Пример некорректной работы программы из-за ошибки в выборе типа переменных:
Внимательно смотрим на надпись, которую выдаёт нам 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] — нулевой индекс числа (х) или первая цифра числа (х)
- three — переменная для третьей цифры числа
- x[2] — второй индекс числа (х) или третья цифра числа (х)
Попробуем вывести на экран сумму двух переменных (one) и (three). Это и будет ответ к нашей задаче:
❗После запуска программы появляется ошибка. Почему?
Поближе посмотрим на надпись, которую выдаёт нам Python. Попробуем разобраться, что означает данная ошибка:
- Type Error — Ошибка типа (в переводе с английского)
- 'int' object is not subscriptable — 'int' не поддерживает индексацию
🔥И вот здесь то и начинается самое интересное!
Программа не работает, потому что некорректно выбран тип переменной. Индексы в Python могут работать только с упорядоченными коллекциями данных. Такие как: списки (list), строки (str) и кортежи (touple).
То есть мы не можем использовать индексы для работы с целыми числами. Нельзя использовать индексы для переменных типа (int), (float)
НО❗ Индексы можно использовать для строк (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), который преобразует строку или число другого типа в целое число.
⭐Перед тем, как записать итоговое решение программы на Python, ещё раз вспомним основные моменты:
- Для получения доступа к цифрам числа используем индексы.
- Переменную (x) преобразуем в строку. Так как индексы в Python могут работать только с упорядоченными коллекциями данных (str).
- При вычислении ответа переменные (one) и (tree) преобразуем в целый тип (int), чтобы выполнить операцию сложения. Иначе, будет выполнена конкатенация строк.
🔥ИТОГОВАЯ ПРОГРАММА:
Если вам удалось избежать ошибок, то в качестве ответа вы увидите заветное число:
Ответ: 5
👏 Поздравляю! Получен верный ответ и программа работает без ошибок.
Всегда помните, что от выбора типа данных зависит набор действий и правил, которыми вы будете пользоваться. Для каждой задачи и для каждой переменной нужно научиться выбирать подходящий тип данных😉
Удачи!
🔜Материалы для успешной подготовки к ЕГЭ по информатике: