Python 문자열을 정수로, 정수를 문자열로 변환하는 방법

이 튜토리얼에서는 파이썬 문자열을 int로 변환하는 방법과 int를 문자열로 변환하는 방법을 배우겠습니다. 이전 튜토리얼에서는 Python List append 함수에 대해 배웠습니다.

파이썬 문자열을 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 : <class 'str'>
Now, type of num is : <class 'int'>
Python String To Int

다른 진수에서 문자열을 int로 변환

문자열을 int로 변환하려면 기본 10진법이 아닌 다른 진법을 지정할 수 있습니다. 그러나 출력 정수는 항상 10진법입니다. 또한 주어진 진법은 2에서 36 사이여야 함을 기억해야 합니다. 다음 예제를 보고 base 인자를 사용한 문자열을 int로 변환하는 방법을 이해하십시오.

num = '123'
# 원래 문자열을 출력합니다.
print('The original string :', num)

# '123'을 10진법으로 간주하여 10진법으로 변환합니다.

print('Base 10 to base 10:', int(num))

# '123'을 8진법으로 간주하여 10진법으로 변환합니다.

print('Base 8 to base 10 :', int(num, base=8))

# '123'을 6진법으로 간주하여 10진법으로 변환합니다.

print('Base 6 to base 10 :', int(num, base=6))

다음 코드의 출력은

Python Convert String To Int With Base

문자열을 int로 변환하는 동안 ValueError

문자열을 정수로 변환하는 동안 ValueError 예외가 발생할 수 있습니다. 이 예외는 변환하려는 문자열이 어떤 숫자도 나타내지 않을 때 발생합니다. 예를 들어, 16진수를 정수로 변환하려고 할 때가 그렇습니다. 그러나 base=16 인자를 int() 함수에 전달하지 않았다면 ValueError 예외가 발생합니다. 10진수 체계에 속하지 않는 숫자가 있는 경우 예외가 발생합니다. 다음 예제는 이 예외를 설명합니다. 문자열을 정수로 변환하는 동안 발생하는 예외를 설명합니다.

"""
    Scenario 1: The interpreter will not raise any exception but you get wrong data
"""
num = '12'  # this is a hexadecimal value

# 변환 중에 변수는 10진수 값으로 간주됩니다
print('The value is :', int(num))

# 변환 중에 변수는 16진수 값으로 간주됩니다
print('Actual value is :', int(num, base=16))

"""
    Scenario 2: The interpreter will raise ValueError exception
"""

num = '1e'  # this is a hexadecimal value

# 변환 중에 변수는 16진수 값으로 간주됩니다
print('Actual value of \'1e\' is :', int(num, base=16))

# 변환 중에 변수는 10진수 값으로 간주됩니다
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 To Int ValueError

Python int를 문자열로

정수를 문자열로 변환하는 것은 노력이 필요하지 않습니다. 변환을 수행하려면 str() 함수를 사용하기만 하면 됩니다. 다음 예제를 참조하세요.

hexadecimalValue = 0x1eff

print('Type of hexadecimalValue :', type(hexadecimalValue))

hexadecimalValue = str(hexadecimalValue)

print('Type of hexadecimalValue now :', type(hexadecimalValue))

다음 코드의 출력은 다음과 같습니다:

Type of hexadecimalValue : <class 'int'>
Type of hexadecimalValue now : <class 'str'>
Python Int To String Conversion

이것으로 Python에서 문자열을 정수로 변환하고 정수를 문자열로 변환하는 모든 것에 대해 설명했습니다. 참조: Python 공식 문서

Source:
https://www.digitalocean.com/community/tutorials/python-string-to-int-int-to-string