Найти тему

Преобразования данных в Python

Хотя в Python типов данных как бы нет, но на самом деле они есть. Просто их не надо указывать при объявлении переменных. Но при выполнении каких-либо операции с переменными разных типов можно получить ошибки, особенно если вы в ходе разработки забыли, какая переменная имеет какой тип. Кстати, ранее я рассказывал о том, как узнать тип переменной.

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

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

Начнём с преобразования строки в целое число. Если вы сделаете так:

str = "13"
x = 1
x = x + str

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

x = x + int(str)

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

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

-2

Ну и, наконец, есть ещё функция, которая преобразует число в строку. В этом случае неважно, какое это число - целое или вещественное:

si = str(13)
sf = str(3.14)

Переменные si и sf - это строковые переменные. И после выполнения этого кода они содержат, соответственно, строки '13' и '3.14'.

Если же вы случайно передадите в функцию не число, а строку:

si = str('13')

то ничего страшного не произойдёт. Функция просто вернёт ту же строку.

P.S. Чуть не забыл про функцию float(), которая преобразует строку в вещественное число. Пример:

f = float('3.14')

На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.

Наука
7 млн интересуются