Python 입문 | 우선 값과 계산의 기본 | 값 유형의 변환과 텍스트

값에는 유형이 있다. 다른 유형의 값끼리는 계산할 수 없다. 그렇게 되면, 예를 들어 “텍스트와 숫자를 사용하여 계산한다"라고하는 것은 불가능하다는 걸 의미한다.

그러나 물론 그런 일은 없다. 제대로 된 방법으로 Python에는 값을 다른 유형으로 변환하는 기능이 포함되어있다. 우선 다음의 것만 제대로 배워보도록 하자.

  • int(값) - ()의 값을 정수로 변환한다.
  • float(값) - ()의 값을 실수로 변환한다.
  • str(값) - ()의 값을 텍스트로 변환한다.
  • bool(값) - ()의 값을 부울 값으로 변환한다.

이 처럼 어떤 유형의 값을 다른 유형으로 변환하는 것을 “형 변환"이라고 하고, 영어로는 “캐스팅(casting)“이라고 한다.

그럼 아래 형 변환 간단한 샘플들을 보도록 하겠다. 이런 방법로 텍스트와 정수를 변환하여 사용한다면 될 것이다.

텍스트에 값을 정리

값 형 변환는 “계산 값을 맞출려고"하는 경우도 있지만, 그 보다 자주 사용하는 것이 “print에 값을 출력하기 위해서"이다. print는 어떤 값도 출력할 수 있지만, 텍스트를 사용하여 값을 처리하려는 순간 오류가 발생한다.

a = 123
b = 456
c = a + b
print(c)

이것은 매우 간단한 샘플이다. 그런데 이것을 조금 처리하려는 순간 갑자기 문제가 발생한다.

a = 123
b = 456
c = a + b
print('answer :'+ c)

갑자기 왜 오류가 발생하는가? 라고하면, print()에 쓴 ‘answer :’ + c가 원인이다. 텍스트와 숫자를 연결해 보려고 했기 때문에 “변수 c는 텍스트 아니야"라고 오류가 발생하는 것이다. 텍스트를 + 기호로 연결하기 위해서는 연결 값이 텍스트가 아니면 안된다.

a = 123
b = 456
c = a + b
print('answer :' + str(c))

이제 문제없이 동작하게 되었다. print()를 보면 ‘answer :’+ str(c)와 같이 되어 있다. 변수 c를 str로 텍스트로 변환한 것으로 정상적으로 동작하게 되는 것이다.

이와 같이, “텍스트으로 값을 연결하려고 하여, 오류가 발생하게 되었다"라는 것은 초보자로써 언제나 하는 실수이기에, print에 오류가 발생하면 먼저 “값 형 변환, 값 형 변환"라고 머릿속에서 반복하자.