Python приведение к целому типу

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

Функция type() возвращает тип объекта. Ее назначение очевидно, и на примерах можно понять, зачем эта функция нужна.

Также в этом материале рассмотрим другие функции, которые могут помочь в процессе конвертации типа данных. Некоторые из них — это int() , float() или str() .

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

Где используется

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

Рекомендации по работе с типами данных

  1. Типы int и float можно конвертировать в str , потому что строка может включать не только символы алфавита, но и цифры.
  2. Значения типа str всегда представлены в кавычках, а для int , float и bool они не используются.
  3. Строку, включающую символы алфавита, не выйдет конвертировать в целое или число с плавающей точкой.

Примеры конвертации типов данных

 
>>> game_count = 21
>>> print(type(game_count))

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

 
>>> person1_weight = 121.25
>>> print(type(person1_weight))

Функция 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)

2256

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)

2256

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)

2256

2256
  1. Не любой тип можно конвертировать в любой другой. Например, если строка состоит только из символов алфавита, то при попытке использовать с ней int() приведет к ошибке.
  2. Зато почти любой символ или число можно привести к строке. Это будет эквивалентно вводу цифр в кавычках, поскольку именно так создаются строки в Python.

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

 
>>> my_data = "Что-нибудь"
>>> my_data = int(my_data)
ValueError: invalid literal for int() with base 10: 'Что-нибудь'

Задачи к уроку

Попробуйте решить задачи к этому уроку для закрепления знаний.

1. Измените и дополните код, что бы переменная salary_type хранила результат функции type() со значением int .

# данный код salary = "50000" salary_type = print(salary_type) # требуемый вывод: #

2. Исправьте ошибку в коде, что бы получить требуемый вывод.

# данный код mark = int("5+") print(mark, "баллов") # требуемый вывод: # 5+ баллов

3. Конвертируйте переменные и введите только целые числа через дефис.

# данный код score1 = 50.5648 score2 = 23.5501 score3 = 96.560 print() # требуемый вывод: # 50-23-96

Тест по конвертации типов данных

Пройдите тест к этому уроку для проверки знаний. В тесте 5 вопросов, количество попыток неограниченно.

Источник

Python приведение к целому типу

Преобразование типов данных в Python: пояснения и примеры

Преобразование типов данных в Python: пояснения и примеры

Преобразование типов данных - это процесс изменения значения из одного типа в другой в Python. Оно может происходить явно (когда мы явно указываем, какой тип данных мы хотим получить) или неявно (когда Python автоматически выполняет преобразование типов).

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

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

Преобразование в строку может происходить явно или неявно. Явное преобразование в строку осуществляется с помощью функции str() .

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

num = 42 str = 'The answer is ' + str(num) # 'The answer is 42' 

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

Преобразование в целое число также может происходить явно или неявно. Явное преобразование в целое число осуществляется с помощью функции int() .

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

num1 = 42 num2 = '7' sum = num1 + int(num2) # 49 (строка '7' преобразуется в целое число) 

Преобразование в число с плавающей точкой в Python

Преобразование в число с плавающей точкой может также происходить явно или неявно. Явное преобразование в число с плавающей точкой осуществляется с помощью функции float() .

str = '3.14' num = float(str) # 3.14 

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

num1 = 42 num2 = '3.14' sum = num1 + float(num2) # 45.14 (строка '3.14' преобразуется в число с плавающей точкой) 

Преобразование при использовании операторов в Python

В Python есть операторы, которые могут приводить к неожиданному преобразованию типов данных при их использовании. Например, оператор + может приводить к неявному преобразованию типов данных:

num1 = 42 str1 = 'The answer is ' str2 = num1 + str1 # Ошибка: нельзя складывать число и строку 

В этом случае Python не может сложить число и строку, поэтому возникает ошибка. Однако мы можем явно преобразовать число в строку и затем складывать их:

num1 = 42 str1 = 'The answer is ' str2 = str(num1) + str1 # '42The answer is ' 

Преобразование с помощью методов в Python

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

str = '3.14, 42, True' lst = str.split(', ') num1 = float(lst[0]) num2 = int(lst[1]) bool1 = bool(lst[2])  print(type(num1)) # print(type(num2)) # print(type(bool1)) # 

Здесь мы разделили строку str на список строк lst с помощью метода split() . Затем мы явно преобразовали первый элемент списка в число с плавающей точкой float() , второй элемент - в целое число int() , а третий элемент - в булево значение bool() .

Вывод

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

Источник

Преобразование и приведение типов в Python

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

Неявное преобразование типов

При неявном преобразовании типов Python автоматически преобразует один тип данных в другой. Этот процесс не требует участия пользователя.

Давайте рассмотрим пример, в котором Python, чтобы избежать потери данных, производит преобразование типа данных с низким диапазоном (целое число) в тип с более высоким диапазоном (число с плавающей запятой).

# Преобразуем целое число в число с плавающей точкой num_int = 123 num_float = 1.23 num_new = num_int + num_float print("Тип данных в num_int:", type(num_int)) print("Тип данных в num_float:", type(num_float)) print("Значение num_new:", num_new) print("Тип данных в num_new:", type(num_new)) 

Тип данных в num_int:
Тип данных в num_float:
Значение num_new: 124.23
Тип данных в num_new:

  • мы сложили две переменные num_int и num_float , сохранили значение в num_new .
  • мы вывели на экран типы данных всех трех объектов соответственно;
  • в выводе мы видим, что тип данных num_int — целое число, а тип данных num_float — вещественное число.
  • кроме того, мы видим, что num_new имеет тип данных с плавающей запятой, потому что Python всегда преобразует меньший по диапазону тип в больший, чтобы избежать потери данных.

Теперь давайте попробуем сложить строку и целое число и посмотрим, как Python с этим справится.

# Складываем строку и целое число num_int = 123 num_str = "456" print("Тип данных в num_int:", type(num_int)) print("Тип данных в num_str:", type(num_str)) print(num_int + num_str) 
Тип данных в num_int: 
Тип данных в num_str:

Traceback (most recent call last):
File "python", line 7, in
TypeError: unsupported operand type(s) for +: 'int' and 'str'
  • мы сложили две переменные num_int и num_str.
  • как видно из вывода, мы получили TypeError — Python не может использовать неявное преобразование в таких случаях.

Однако в Python есть решение для таких ситуаций — это явное приведение.

Явное приведение типов

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

Этот тип преобразования также называется приведением типов, поскольку пользователь приводит (изменяет) тип данных объекта.

Синтаксис

Приведение типов можно выполнить, если присвоить выражению значение функции, соответствующее нужному типу данных.

# Складываем строку и целое число с помощью явного преобразования num_int = 123 num_str = "456" print("Тип данных в num_int:", type(num_int)) print("Тип данных в num_str до явного приведения:", type(num_str)) num_str = int(num_str) print("Тип данных в num_str после явного приведения:", type(num_str)) num_sum = num_int + num_str print("Сумма num_int и num_str:", num_sum) print("Тип данных полученной суммы:", type(num_sum)) 

Тип данных в num_int:
Тип данных в num_str до явного приведения:

Тип данных в num_str после явного приведения:

Сумма num_int и num_str: 579
Тип данных полученной суммы:

  • мы сложили переменные num_str и num_int ;
  • для выполнения сложения мы преобразовали num_str из строкового типа в целочисленный, используя функцию int () ;
  • после преобразования num_str в целочисленное значение Python уже может сложить эти две переменные;
  • мы получили значение num_sum , его тип данных — целое число.

Что надо запомнить:

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

СodeСhick.io - простой и эффективный способ изучения программирования.

2023 © ООО "Алгоритмы и практика"

Источник

Читайте также:  Java array of interface
Оцените статью