Конвертация типов данных

Конвертация типов данных

Сегодня на уроке мы более подробно остановимся на функциях: 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: 'Что-нибудь'


Последнее изменение: Среда, 21 апреля 2021, 15:36