Автор оригинала: Pankaj Kumar.
В этом руководстве мы узнаем, как преобразовать строку Python в INT и INT строку в Python. В нашем предыдущем уроке мы узнали о списке Python Append функцией.
Python String для INT
Если вы прочитаете наши предыдущие учебники, вы можете заметить, что в какое-то время мы использовали это преобразование. На самом деле, это необходимо во многих случаях. Например, вы читаете некоторые данные из файла, то он будет в строковом формате, и вам придется преобразовать строку в int.
Теперь мы пойдем прямо в код. Если вы хотите преобразовать номер, который представлен в строке для INT, вы должны использовать int ()
Функция для этого. См. В следующем примере:
num = '123' # string data # print the type print('Type of num is :', type(num)) # convert using int() num = int(num) # print the type again print('Now, type of num is :', type(num))
Выход следующего кода будет
Type of num is :Now, type of num is :
Преобразование строки в INT от разной базы
Если строка, которую вы хотите преобразовать в Int, относится к разным номерам базы других, что база 10, вы можете указать базу для преобразования. Но помните, что выходное целое число всегда в базе 10. Другим, что вам нужно помнить, состоит в том, что данная база должна составлять от 2 до 36. См. В следующем примере, чтобы понять преобразование строки для INT с базовым аргументом.
num = '123' # print the original string print('The original string :', num) # considering '123' be in base 10, convert it to base 10 print('Base 10 to base 10:', int(num)) # considering '123' be in base 8, convert it to base 10 print('Base 8 to base 10 :', int(num, base=8)) # considering '123' be in base 6, convert it to base 10 print('Base 6 to base 10 :', int(num, base=6))
Выход следующего кода будет
Python преобразует строку в INT с базой
ValueError при преобразовании строки в int
При преобразовании из строки в int вы можете получить ValueError
Исключение Отказ Это исключение происходит, если строка, которую вы хотите преобразовать, не представляет никаких номеров.
Предположим, вы хотите преобразовать шестнадцатеричное число в целое число. Но вы не проходили аргумент база = 16 В int () функция. Это поднимет ValueError
Исключение, если есть какая-либо цифра, которая не принадлежит к системе десятичной числи. В следующем примере будет проиллюстрировать это исключение при преобразовании строки для INT.
""" Scenario 1: The interpreter will not raise any exception but you get wrong data """ num = '12' # this is a hexadecimal value # the variable is considered as decimal value during conversion print('The value is :', int(num)) # the variable is considered as hexadecimal value during conversion print('Actual value is :', int(num, base=16)) """ Scenario 2: The interpreter will raise ValueError exception """ num = '1e' # this is a hexadecimal value # the variable is considered as hexadecimal value during conversion print('Actual value of \'1e\' is :', int(num, base=16)) # the variable is considered as decimal value during conversion print('The value is :', int(num)) # this will raise exception
Выход вышеуказанного кода будет:
The value is : 12 Actual value is : 18 Actual value of '1e' is : 30 Traceback (most recent call last): File "/home/imtiaz/Desktop/str2int_exception.py", line 22, in print('The value is :', int(num)) # this will raise exception ValueError: invalid literal for int() with base 10: '1e'
Python String для INT ValueError
Python int string
Преобразование int string не требует усилий или проверки. Вы просто используете str ()
функция, чтобы сделать преобразование. Смотрите следующий пример.
hexadecimalValue = 0x1eff print('Type of hexadecimalValue :', type(hexadecimalValue)) hexadecimalValue = str(hexadecimalValue) print('Type of hexadecimalValue now :', type(hexadecimalValue))
Выход следующего кода будет:
Type of hexadecimalValue :Type of hexadecimalValue now :
Python int int string conversion
Это все о Python Convert String для Int и Int для конвертации строки.
Ссылка: Официальный документ Python