본문 바로가기
Python

[Python] 파이썬 숫자와 문자열 타입 서로 변경하는 방법

by A6K 2022. 10. 24.

파이썬에도 타입이 있다. 변수에 담고 있는 데이터의 타입은 type() 함수로 알 수 있다. 이 타입 중에 가장 많이 사용되는게 문자열 타입과 숫자 타입일 것이다. 그리고 이 두 타입은 서로 변환할 일도 많다. 숫자 타입을 문자열로 변환해서 다른 문자열과 함께 다루거나, 문자열에 있는 숫자를 뽑아내서 계산하는 등의 작업에 타입의 변환이 필요하다.

파이썬에서 숫자 타입의 데이터를 문자열 타입으로 변환하거나 그 반대인 문자열 타입의 숫자를 숫자 타입으로 변환하는 방법에 대해 알아보자.

숫자를 문자열로 바꾸기

우선 숫자를 문자열로 바꾸는 방법을 알아보자. 숫자 타입의 데이터를 문자열로 변환하기 위해서는 str() 함수 혹은 repr() 함수를 사용하면 된다.

str() 함수 사용

str() 함수는 가장 많이 사용되는 문자열 변환 함수다. 파이썬 IDLE을 실행하고 다음 코드를 입력해보자.

>>> value = 123.4567
>>> type (value)
<class 'float'>
>>> str(value)
'123.456'
>>> type (str(value))
<class 'str'>

123.4567 이라는 숫자를 담고 있는 float 형의 숫자 데이터를 str() 함수를 이용해서 'str' 타입 문자열로 변경했다.

repr() 함수 사용

repr() 함수 역시 문자열로 변환하는 파이썬의 내장 함수다. 위 코드와 동일하게 실행해보자.

>>> value = 123.4567
>>> type (value)
<class 'float'>
>>> repr(value)
'123.456'
>>> type (repr(value))
<class 'str'>

 

동일한 결과를 얻을 수 있다.

그러면 str() 함수와 repr() 함수의 차이는 뭘까? str() 함수는 작성하는 프로그램의 사용자가 보기 쉽도록 문자열을 만드는 함수고, repr() 함수는 파이썬 인터프리터가 해당 객체를 인식할 수 있는 공식 문자열로 나타내어준다. 다시말해 repr()은 파이썬에서 해당 객체를 만들 수 있는 문자열로 출력해준다.

더 자세한 설명은 이 포스트의 내용에서 벗어나므로 따로 찾아보길 바란다.

문자열을 숫자로 변경

이제 반대로 문자열을 숫자로 변경해보겠다. 문자열로 표현된 숫자를 숫자 타입으로 변환하기 위해서는 int(), float() 등의 함수를 사용할 수 있다.

int(), float() 함수 사용

>>> value='123'
>>> int(value)
123
>>> float(value)
123.0

만약 소수점 숫자를 int()로 변환하면 소수점 아래 자리는 모두 버려진다.

>>> value = 123.1
>>> int(value)
123
>>> float(value)
123.1

만약 숫자가 아닌 문자를 입력하면 에러가 발생한다.

>>> value='Hello'
>>> int(value)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'Hello'

format() 사용

이외에 format() 함수를 이용해 숫자를 문자로 바꾸는 방법도 있다.

>>> value = 123
>>> value_str = "{}".format(value)
>>> value_str
'123'

f-string 사용

f-string으로 숫자를 문자로 변환할 수도 있다.

>>> value = 123
>>> value_str = f'{value}'
>>> value_str
'123'

 

파이썬 스크립트 작성에 도움되는 글 모음

파이썬으로 프로그램을 작성할 때 도움되는 글들을 모아본다. Python 문법 Python 모듈

hbase.tistory.com

 

댓글