Конвертация типов данных
Конвертация типов данных
Сегодня на уроке мы более подробно остановимся на функциях: type(), int(), float(), str().
Функция type()
возвращает тип объекта. Ее назначение очевидно, и на примерах можно понять,
зачем эта функция нужна.
type()
— это базовая функция, которая
помогает узнать тип переменной. Получившееся значение можно будет выводить
точно так же, как обычные значения переменных с помощью print
.
Где используется:
- Функция
type()
используется для определения типа переменной. - Это очень важная информация, которая часто нужна программистам.
- Например, программа может собирать данные, и будет необходимость знать тип этих данных.
- Часто требуется выполнять определенные операции с конкретными типами данных: например, арифметические вычисления на целых или числах с плавающей точкой или поиск символа в строках.
- Иногда будут условные ситуации, где с данными нужно будет обращаться определенным образом в зависимости от их типа.
- Будет
и много других ситуаций, где пригодится функция
type()
.
Рекомендации по работе с типами данных:
1. Типы
int
и float
можно конвертировать в str
, потому что строка может включать не только символы
алфавита, но и цифры.
2. Значения
типа str
всегда
представлены в кавычках, а для int
,
float
и bool
они не используются.
3. Строку, включающую символы алфавита, не выйдет конвертировать в целое или число с плавающей точкой.
Примеры конвертации типов данных
>>> game_count = 21
>>> print(type(game_count))
<class 'int'>
Далее остановимся на более сложных типах
данных, таких как списки, кортежи и словари. Их обычно называют составными
типами данных, потому что они могут состоять из значений разных типов. Функция type()
может использоваться для определения их типов также.
>>>person1_weight
=121.25
>>>print(type(
person1_weight
))
<class'float'>
Функция int()
С помощью функции int()
можно попробовать
конвертировать другой тип данных в целое число.
В следующем примере можно увидеть,
как на первой строке переменной inc_count
присваивается значение в кавычках.
Из-за этих кавычек переменная
регистрирует данные как строку. Дальше следуют команды print
для вывода
оригинального типа и значения переменной, а затем — использование функции int()
для конвертации
переменной к типу int
.
После этого две функции print
показывают, что
значение переменной не поменялось, но тип данных — изменился.
Можно обратить внимание на то, что после
конвертации выведенные данные не отличаются от тех, что были изначально. Так
что без использования type()
вряд ли удастся увидеть разницу.
>>>inc_count
="2256"
>>>print(type(
inc_count
))
>>>print(
inc_count
)
>>>inc_count
=int(
inc_count
)
>>>print(type(
inc_count
))
>>>print(
inc_count
)
<class'str'>
2256
<class'int'>
2256
Функция float()
Функция float()
используется для конвертации данных из других типов в тип числа с плавающей
точкой.
>>>inc_count
="2256"
>>>print(type(
inc_count
))
>>>print(
inc_count
)
>>>inc_count
=float(
inc_count
)
>>>print(type(
inc_count
))
>>>print(
inc_count
)
<class'str'>
2256
<class'float'>
2256.0
Функция str()
Как и int()
с float()
функция str()
помогает
конвертировать данные в строку из любого другого типа.
>>>inc_count
=2256
>>>print(type(
inc_count
))
>>>print(
inc_count
)
>>>inc_count
=str(
inc_count
)
>>>print(type(
inc_count
))
>>>print(
inc_count
)
<class'int'>
2256
<class'str'>
2256
Советы:
1. Не любой тип можно конвертировать в любой другой. Например, если строка состоит только из символов алфавита, то при попытке использовать с ней int() приведет к ошибке.
2. Зато почти любой символ или число можно привести к строке. Это будет эквивалентно вводу цифр в кавычках, поскольку именно так создаются строки в Python.
Как можно увидеть в следующем примере, поскольку переменная состоит из символов алфавита, Python не удается выполнить функцию int(), и он возвращает ошибку.
>>> my_data = "Что-нибудь"
>>> my_data = int(my_data)
ValueError: invalid literal for int() with base 10: 'Что-нибудь'