파이썬에서 숫자 형태의 문자열을 실제 숫자로 변환해야 하는 경우가 자주 있습니다. 예를 들어 사용자 입력이나 파일에서 읽어온 데이터를 연산에 활용하려면 반드시 문자열을 int 또는 float 타입으로 바꿔야 합니다.
문자열을 정수(int)로 변환하기
문자열을 정수로 변환할 때는 내장 함수 int()를 사용합니다. 변환에 실패하면 ValueError 예외가 발생하므로, 안전한 처리를 위해 try-except 구문과 함께 사용하는 것이 좋습니다.
try:
print(int('112'))
except ValueError:
print('Cannot parse')위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
112
만약 int('abc')처럼 숫자로 변환할 수 없는 문자열을 전달하면 예외가 발생하고, 이 경우 'Cannot parse'라는 메시지가 출력되어 프로그램이 비정상 종료되는 것을 방지할 수 있습니다.
문자열을 실수(float)로 변환하기
소수점이 포함된 문자열은 내장 함수 float()를 사용하여 변환합니다. 마찬가지로 잘못된 값이 들어올 가능성을 고려해 try-except로 감싸주는 것이 안전합니다.
try:
print(float('112.15'))
except ValueError:
print('Cannot parse')실행 결과는 다음과 같습니다.
112.15
정리
- 정수 변환에는
int(), 실수 변환에는float()함수를 사용합니다. - 변환이 불가능한 문자열이 전달되면
ValueError가 발생합니다. - 사용자 입력 등 신뢰할 수 없는 데이터를 다룰 때는 반드시
try-except로 예외를 처리하세요.
이 두 가지 방법만 기억하면 파이썬에서 문자열을 숫자로 안전하게 변환하는 대부분의 상황에 대처할 수 있습니다.