Автор оригинала: 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