Назад в блог

Python 3: Руководство по преобразованию типов данных

Python 3: Руководство по преобразованию типов данных

Введение

Python — это язык программирования, который часто используется для целей системной интеграции. В этом языке используется понятие, называемое 'типами данных'. Эти типы данных помогают классифицировать или определять определенный тип данных. Это означает, что конкретный тип данных относится к определенным значениям и операциям, которые к нему можно применить. Каждый тип данных программируется и редактируется по-разному. Это связано с тем, что каждый тип данных имеет разную природу. Например, вы можете иметь дело со строками или целыми числами.

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

Преобразование чисел

Когда мы говорим о числах в Python, мы можем иметь в виду один из двух вариантов. Мы можем иметь дело либо с целыми числами или числами с плавающей запятой. Иногда может возникнуть необходимость преобразовать одно в другое. Вы можете легко преобразовывать целые числа в числа с плавающей запятой, а числа с плавающей запятой — в целые числа.

  • Преобразование: целые числа в числа с плавающей запятой

Сначала мы начнем с изучения того, как можно преобразовать целые числа в числа с плавающей запятой. Для этого используется команда под названием float(). Эта функция преобразует любое заданное целое число в число с плавающей запятой с десятичной частью. Все, что вам нужно сделать, это поместить целое число в круглые скобки. Например, предположим, что вы хотите преобразовать целое число 57 в тип данных float. Вот как это можно сделать:

В результате выполнения этой команды целое число 57 изменится на число с плавающей запятой 57.0.

Другой способ сделать это — использовать переменную. Вы можете обозначить целое число через переменную, а затем вывести число с плавающей запятой с помощью вышеуказанной команды. Допустим, вы объявляете переменную f равной 57. Вот как будет происходить преобразование в этом случае:

  • Преобразование: числа с плавающей запятой в целые числа

Также возможно преобразовывать числа с плавающей запятой в целые числа. Как и в предыдущей команде, это преобразование можно выполнить с помощью функции int(). Как и в прошлый раз, все, что вам нужно сделать, это добавить число с плавающей запятой в круглые скобки после функции.

В нашем примере мы будем преобразовывать число с плавающей запятой 390 в целое число. Чтобы выполнить преобразование, мы запустим следующую команду:

В результате выполнения этой функции 390 изменится на форму с плавающей запятой: 390.8.

Точно так же вы можете выполнить преобразование с помощью переменных. Более того, вы можете выполнять несколько преобразований одновременно. Предположим, что b равно 125.0 и c равно 390.8. Вот как вы можете вывести эти значения с плавающей запятой:

Как видите, целые числа успешно превратились в числа с плавающей запятой.

Важно помнить при преобразовании чисел с плавающей запятой в целые, что функция не округляет значения. Это означает, что дробная часть числа с плавающей запятой просто удаляется. Функция не будет округлять такое значение, как 390.8, до 390 — она просто удалит 0.8, чтобы вы получили целое число.

  • Преобразование: путем деления

Вы также можете преобразовывать целые числа в числа с плавающей запятой путем деления. Деление целых чисел друг на друга может дать частное, которое является числом с плавающей запятой. Например, при делении 5 на 2 вы получите ответ 2.5, что является числом с плавающей запятой. Посмотрите:

Это особенность Python 3. В Python 2 выполнение такого деления дало бы в качестве ответа только целое число, вот так: 5 / 2 = 2.

Преобразование со строками

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

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

  • Преобразование: числа в строки

Вы можете использовать функцию str() для преобразования чисел в строки. Как и прежде, вы помещаете значение, которое хотите преобразовать, в круглые скобки. Этим значением может быть либо число, либо переменная. Для начала давайте посмотрим, как можно преобразовать целое число, например 12, в строковое значение:

Как видите, вывод показывает строковое значение. Строковое значение обозначается кавычками.

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

К сожалению, если вы попытаетесь запустить приведенный выше код, вы получите следующую ошибку:

concatenation error

Это означает, что вам нужно преобразовать переменную lines в строковое значение, чтобы иметь возможность запустить код.

Теперь, когда вы добавили функцию преобразования, вы сможете успешно запустить команду. В качестве вывода вы увидите примерно следующее:

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

Если вы хотите убедиться, что значение верно, вы можете объединить его со строкой следующим образом:

Поскольку вы не получили ошибку, это означает, что преобразование прошло успешно.

  • Преобразование: строки в числа

Точно так же вы можете преобразовывать строки в числа. Если в вашей строке нет десятичных знаков, то лучше преобразовать ее в целое число. Вы можете преобразовать ее в целые числа с помощью int() функции.

Мы продолжим использовать наш предыдущий пример с преобразованием целых чисел. Итак, предположим, что пользователь по имени Sammy хочет ежедневно отслеживать свой прогресс в написании кода. Как программист, вы хотите представить эту информацию пользователю в творческой форме. Но поскольку эти значения хранятся в виде строк, вы не можете применять к ним некоторые базовые операторы, такие как – (вычитание). Вы можете наблюдать это в следующем примере:

unsupported operand

Как видите, оператор не работает со строковыми значениями. Вместо этого вы получаете ошибку. Чтобы иметь возможность работать со значениями, вам нужно преобразовать строки в целые числа с помощью int() функции.

Здесь lines_more — это переменная. Эта переменная является целым числом и равна результирующему значению, которое в нашем примере равно 58.

С другой стороны, вы можете преобразовать строки в числа с плавающей точкой с помощью функции float(), если там есть десятичные знаки. В этом примере мы будем использовать баллы, которые зарабатывает пользователь Sammy, в отличие от количества строк, которые он пишет. Баллы начисляются в виде десятичных дробей:

Хотя вывод не выглядит как ошибка, он все же неверен. Операнд + или сложение сработал в данном случае. Но вместо сложения двух чисел он просто поместил два строковых значения рядом друг с другом.

Вот почему вам нужно сначала преобразовать эти строки в значения с плавающей точкой с помощью функции float():

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

cast error

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

Преобразование в кортежи и списки

Списки и кортежи — это еще несколько типов данных, которые вы можете использовать в Python 3. Оба они состоят из последовательности элементов. Разница между ними заключается в том, что список является изменяемым, а кортеж — неизменяемым. Кроме того, если элементы списка помещаются в квадратные скобки [ ], то элементы кортежа заключаются в круглые скобки ( ).

  • Преобразование: списки в кортежи

Прежде всего, давайте рассмотрим, как можно преобразовать список в кортеж. Вам может понадобиться выполнить это преобразование, если вам требуется неизменяемый тип данных. Для этой цели вам нужно будет использовать функцию tuple():

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

Вы также можете использовать функцию tuple() с переменной, которая соответствует списку элементов:

Удобно то, что вы можете преобразовать любой тип данных в кортеж. Например, вот как можно преобразовать строку в кортеж:

Строки можно преобразовывать в кортежи, поскольку они являются итерируемыми. Разумеется, неитерируемые типы данных нельзя преобразовать в кортежи. Допустим, вы хотите преобразовать несколько целых чисел или число с плавающей точкой в кортеж. Если вы запустите функцию tuple(), вы получите следующую ошибку:

Ошибка типа указывает на то, что целое число не является итерируемым. Вот почему преобразование не может быть выполнено. Сложный способ — сначала преобразовать целое число в строку, а затем в кортеж. Вы можете сделать это с помощью следующей функции: tuple(str(5000)). Но мы рекомендуем избегать таких сложностей.

  • Преобразование: кортежи в списки

Напротив, вам может потребоваться преобразовать кортеж в список, если вам нужны изменяемые данные. Для этой цели вы будете использовать list() функцию следующим образом:

Наличие квадратных скобок указывает на то, что полученный результат является списком. При написании кода для преобразования кортежа в список с помощью list(), вы должны убедиться, что включили круглые скобки как для метода list(), так и для метода print(). Однако это делает код немного нечитаемым. Чтобы упростить его, вы можете удалить одну пару круглых скобок, используя вместо этого переменную:

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

Заключение

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

Чтобы подробнее изучить возможности Python, ознакомьтесь с другими нашими руководствами:

Приятной работы!

author

Akshay Nagpal

Автор · CloudSigma

Preslav Dobrev — креативный дизайнер в CloudSigma, сосредоточенный на формировании последовательного корпоративного образа с помощью традиционных и инновационных маркетинговых каналов. Он умело сочетает художественное видение со стратегическим маркетингом, создавая убедительные истории бренда.

Комментарии

Комментариев пока нет. Будьте первым.