Введение
Python — это язык программирования, который часто используется для целей системной интеграции. В этом языке используется понятие, называемое 'типами данных'. Эти типы данных помогают классифицировать или определять определенный тип данных. Это означает, что конкретный тип данных относится к определенным значениям и операциям, которые к нему можно применить. Каждый тип данных программируется и редактируется по-разному. Это связано с тем, что каждый тип данных имеет разную природу. Например, вы можете иметь дело со строками или целыми числами.
Цель этого руководства — помочь вам ознакомиться с различными типами данных в Python. Кроме того, мы подробно обсудим, как преобразовывать типы данных друг в друга. К концу этого руководства вы должны знать такие типы данных, как числа, строки, кортежи и списки, а также способы их преобразования.
Преобразование чисел
Когда мы говорим о числах в Python, мы можем иметь в виду один из двух вариантов. Мы можем иметь дело либо с целыми числами или числами с плавающей запятой. Иногда может возникнуть необходимость преобразовать одно в другое. Вы можете легко преобразовывать целые числа в числа с плавающей запятой, а числа с плавающей запятой — в целые числа.
-
Преобразование: целые числа в числа с плавающей запятой
Сначала мы начнем с изучения того, как можно преобразовать целые числа в числа с плавающей запятой. Для этого используется команда под названием float(). Эта функция преобразует любое заданное целое число в число с плавающей запятой с десятичной частью. Все, что вам нужно сделать, это поместить целое число в круглые скобки. Например, предположим, что вы хотите преобразовать целое число 57 в тип данных float. Вот как это можно сделать:
|
1 |
float(57) |
В результате выполнения этой команды целое число 57 изменится на число с плавающей запятой 57.0.
Другой способ сделать это — использовать переменную. Вы можете обозначить целое число через переменную, а затем вывести число с плавающей запятой с помощью вышеуказанной команды. Допустим, вы объявляете переменную f равной 57. Вот как будет происходить преобразование в этом случае:
|
1 2 3 |
f = 57 print(float(f)) |
|
1 2 3 |
Вывод 57.0 |
-
Преобразование: числа с плавающей запятой в целые числа
Также возможно преобразовывать числа с плавающей запятой в целые числа. Как и в предыдущей команде, это преобразование можно выполнить с помощью функции int(). Как и в прошлый раз, все, что вам нужно сделать, это добавить число с плавающей запятой в круглые скобки после функции.
В нашем примере мы будем преобразовывать число с плавающей запятой 390 в целое число. Чтобы выполнить преобразование, мы запустим следующую команду:
|
1 |
int(390.8) |
В результате выполнения этой функции 390 изменится на форму с плавающей запятой: 390.8.
Точно так же вы можете выполнить преобразование с помощью переменных. Более того, вы можете выполнять несколько преобразований одновременно. Предположим, что b равно 125.0 и c равно 390.8. Вот как вы можете вывести эти значения с плавающей запятой:
|
1 2 3 4 5 |
b = 125.0 c = 390.8 print(int(b)) print(int(c)) |
|
1 2 3 4 |
Вывод 125 390 |
Как видите, целые числа успешно превратились в числа с плавающей запятой.
Важно помнить при преобразовании чисел с плавающей запятой в целые, что функция не округляет значения. Это означает, что дробная часть числа с плавающей запятой просто удаляется. Функция не будет округлять такое значение, как 390.8, до 390 — она просто удалит 0.8, чтобы вы получили целое число.
-
Преобразование: путем деления
Вы также можете преобразовывать целые числа в числа с плавающей запятой путем деления. Деление целых чисел друг на друга может дать частное, которое является числом с плавающей запятой. Например, при делении 5 на 2 вы получите ответ 2.5, что является числом с плавающей запятой. Посмотрите:
|
1 2 |
a = 5 / 2 print(a) |
|
1 2 3 |
Вывод 2.5 |
Это особенность Python 3. В Python 2 выполнение такого деления дало бы в качестве ответа только целое число, вот так: 5 / 2 = 2.
Преобразование со строками
Прежде чем мы начнем говорить о том, как выполнять преобразование со строками, вам нужно знать, что на самом деле представляют собой строки. Если вы еще не знаете, строки — это последовательности символов. Это может быть строка из букв, цифр, символов или любых других знаков. Возможно, вы знаете о строках в связи с компьютерными данными. Это связано с тем, что компьютеры часто используют этот тип данных для выполнения своих операций.
Если вы имеете дело с данными, созданными пользователями, вам придется часто выполнять такие преобразования. Вот почему полезно знать, как преобразовывать числа в строки и строки в числа.
-
Преобразование: числа в строки
Вы можете использовать функцию str() для преобразования чисел в строки. Как и прежде, вы помещаете значение, которое хотите преобразовать, в круглые скобки. Этим значением может быть либо число, либо переменная. Для начала давайте посмотрим, как можно преобразовать целое число, например 12, в строковое значение:
|
1 |
str(12) |
|
1 2 3 |
Вывод '12' |
Как видите, вывод показывает строковое значение. Строковое значение обозначается кавычками.
С другой стороны, вместо целых чисел в функцию можно передавать и переменные. Именно здесь функция становится действительно полезной. Например, представьте, что вы хотите отслеживать и сообщать, сколько строк кода пользователь пишет за определенный промежуток времени. Чтобы показать эту информацию пользователю, вам нужно вывести как строковые, так и целочисленные значения, вот так:
|
1 2 3 4 |
user = "Sammy" lines = 50 print("Поздравляем, " + user + "! Вы только что написали " + lines + " строк кода.") |
К сожалению, если вы попытаетесь запустить приведенный выше код, вы получите следующую ошибку:

Это означает, что вам нужно преобразовать переменную lines в строковое значение, чтобы иметь возможность запустить код.
|
1 2 3 4 |
user = "Sammy" lines = 50 print("Поздравляем, " + user + "! Вы только что написали " + str(lines) + " строк кода.") |
Теперь, когда вы добавили функцию преобразования, вы сможете успешно запустить команду. В качестве вывода вы увидите примерно следующее:
|
1 2 3 |
Вывод Поздравляем, Sammy! Вы только что написали 50 строк of кода. |
Точно так же, если вы хотите добавить к строке число с плавающей запятой вместо целого числа, вам придется сделать то же самое. Как и прежде, вы можете либо добавить значение напрямую, либо использовать переменную. Например:
|
1 2 3 |
print(str(421.034)) f = 5524.53 print(str(f)) |
|
1 2 3 4 |
Вывод 421.034 5524.53 |
Если вы хотите убедиться, что значение верно, вы можете объединить его со строкой следующим образом:
|
1 2 |
f = 5524.53 print("У Sammy " + str(f) + " очков.") |
|
1 2 3 |
Вывод Sammy имеет 5524.53 очков. |
Поскольку вы не получили ошибку, это означает, что преобразование прошло успешно.
-
Преобразование: строки в числа
Точно так же вы можете преобразовывать строки в числа. Если в вашей строке нет десятичных знаков, то лучше преобразовать ее в целое число. Вы можете преобразовать ее в целые числа с помощью int() функции.
Мы продолжим использовать наш предыдущий пример с преобразованием целых чисел. Итак, предположим, что пользователь по имени Sammy хочет ежедневно отслеживать свой прогресс в написании кода. Как программист, вы хотите представить эту информацию пользователю в творческой форме. Но поскольку эти значения хранятся в виде строк, вы не можете применять к ним некоторые базовые операторы, такие как – (вычитание). Вы можете наблюдать это в следующем примере:
|
1 2 3 4 5 6 |
lines_yesterday = "50" lines_today = "108" lines_more = lines_today - lines_yesterday print(lines_more) |

Как видите, оператор не работает со строковыми значениями. Вместо этого вы получаете ошибку. Чтобы иметь возможность работать со значениями, вам нужно преобразовать строки в целые числа с помощью int() функции.
|
1 2 3 4 5 6 |
lines_yesterday = "50" lines_today = "108" lines_more = int(lines_today) - int(lines_yesterday) print(lines_more) |
|
1 2 3 |
Вывод 58 |
Здесь lines_more — это переменная. Эта переменная является целым числом и равна результирующему значению, которое в нашем примере равно 58.
С другой стороны, вы можете преобразовать строки в числа с плавающей точкой с помощью функции float(), если там есть десятичные знаки. В этом примере мы будем использовать баллы, которые зарабатывает пользователь Sammy, в отличие от количества строк, которые он пишет. Баллы начисляются в виде десятичных дробей:
|
1 2 3 4 5 6 |
total_points = "5524.53" new_points = "45.30" new_total_points = total_points + new_points print(new_total_points) |
|
1 2 3 |
Вывод 5524.5345.30 |
Хотя вывод не выглядит как ошибка, он все же неверен. Операнд + или сложение сработал в данном случае. Но вместо сложения двух чисел он просто поместил два строковых значения рядом друг с другом.
Вот почему вам нужно сначала преобразовать эти строки в значения с плавающей точкой с помощью функции float():
|
1 2 3 4 5 6 |
total_points = "5524.53" new_points = "45.30" new_total_points = float(total_points) + float(new_points) print(new_total_points) |
|
1 2 3 |
Вывод 5569.83 |
Как вы можете видеть выше, два значения складываются. Помните: если вы попытаетесь преобразовать строковое значение с десятичной дробью в целое число, вы получите следующую ошибку:
|
1 2 |
f = "54.23" print(int(f)) |

Следовательно, сначала вам нужно преобразовать строковый тип данных в числа. Затем вы сможете с легкостью выполнять другие операции и преобразовывать числовое значение.
Преобразование в кортежи и списки
Списки и кортежи — это еще несколько типов данных, которые вы можете использовать в Python 3. Оба они состоят из последовательности элементов. Разница между ними заключается в том, что список является изменяемым, а кортеж — неизменяемым. Кроме того, если элементы списка помещаются в квадратные скобки [ ], то элементы кортежа заключаются в круглые скобки ( ).
-
Преобразование: списки в кортежи
Прежде всего, давайте рассмотрим, как можно преобразовать список в кортеж. Вам может понадобиться выполнить это преобразование, если вам требуется неизменяемый тип данных. Для этой цели вам нужно будет использовать функцию tuple():
|
1 |
print(tuple(['pull request', 'open source', 'repository', 'branch'])) |
|
1 2 3 |
Вывод ('pull request', 'open source', 'repository', 'branch') |
Как видите, элементы списка теперь находятся в кортеже. На это указывают круглые скобки, в которые заключены элементы.
Вы также можете использовать функцию tuple() с переменной, которая соответствует списку элементов:
|
1 2 3 |
sea_creatures = ['shark', 'cuttlefish', 'squid', 'mantis shrimp'] print(tuple(sea_creatures)) |
|
1 2 3 |
Вывод ('shark', 'cuttlefish', 'squid', 'mantis shrimp') |
Удобно то, что вы можете преобразовать любой тип данных в кортеж. Например, вот как можно преобразовать строку в кортеж:
|
1 |
print(tuple('Sammy')) |
|
1 2 3 |
Вывод ('S', 'a', 'm', 'm', 'y') |
Строки можно преобразовывать в кортежи, поскольку они являются итерируемыми. Разумеется, неитерируемые типы данных нельзя преобразовать в кортежи. Допустим, вы хотите преобразовать несколько целых чисел или число с плавающей точкой в кортеж. Если вы запустите функцию tuple(), вы получите следующую ошибку:
|
1 |
print(tuple(5000)) |
|
1 2 3 |
Вывод TypeError: 'int' object is not iterable |
Ошибка типа указывает на то, что целое число не является итерируемым. Вот почему преобразование не может быть выполнено. Сложный способ — сначала преобразовать целое число в строку, а затем в кортеж. Вы можете сделать это с помощью следующей функции: tuple(str(5000)). Но мы рекомендуем избегать таких сложностей.
-
Преобразование: кортежи в списки
Напротив, вам может потребоваться преобразовать кортеж в список, если вам нужны изменяемые данные. Для этой цели вы будете использовать list() функцию следующим образом:
|
1 |
print(list(('blue coral', 'staghorn coral', 'pillar coral'))) |
|
1 2 3 |
Output ['blue coral', 'staghorn coral', 'pillar coral'] |
Наличие квадратных скобок указывает на то, что полученный результат является списком. При написании кода для преобразования кортежа в список с помощью list(), вы должны убедиться, что включили круглые скобки как для метода list(), так и для метода print(). Однако это делает код немного нечитаемым. Чтобы упростить его, вы можете удалить одну пару круглых скобок, используя вместо этого переменную:
|
1 2 3 |
coral = ('blue coral', 'staghorn coral', 'pillar coral') list(coral) |
Подобно кортежам, вы также можете преобразовывать строки напрямую в списки:
|
1 |
print(list('shark')) |
|
1 2 3 |
Output ['s', 'h', 'a', 'r', 'k'] |
Заключение
Это руководство поможет вам, если вы ищете способы преобразования типов данных в Python 3. Мы подробно обсудили различные типы данных и то, как их можно преобразовывать друг в друга с помощью встроенных функций Python. Знание этих преобразований поможет сделать ваш опыт программирования намного проще и глубже.
Чтобы подробнее изучить возможности Python, ознакомьтесь с другими нашими руководствами:
- Ознакомьтесь с тем, как установить Python 3 и настроить локальную среду программирования на Ubuntu 16.04.
- Следуйте инструкциям, чтобы узнать, как извлечь данные из Twitter с помощью Python.
- Узнайте, как получать поминутные данные NASDAQ с помощью Python.
- Вы также можете посмотреть, как использовать Python-скрипт CloudSigma для автоматизации преобразования снимка диска в полноценный диск на нашей платформе.
Приятной работы!
Комментарии
Комментариев пока нет. Будьте первым.