입력칸에 ‘안녕하세요’를 입력하면 어떤 데이터 타입이 나올까요?
실행결과
안녕하세요
<class 'str'>
str이 나옵니다. 문자를 넣었으니 당연히 str이 나오죠. 그럼 999를 입력했을 때 결과를 예상해 보세요. int가 나올까요?
실행결과
999
<class 'str'>
당연히 int가 나올 줄 알았는데 str이 나왔네요. 어떻게 된 걸까요? 그 비밀은 input()에 숨어 있습니다. input()은 데이터를 입력받는 명령어입니다. 그런데 파이썬에서는 데이터가 문자든, 숫자든 상관없이 input()으로 입력받는 모든 값을 그냥 문자열로 취급합니다. 그래서 앞에서 TypeError가 발생한 것이죠.
input()으로 입력받는 데이터는 모두 문자열(str)로 인식한다
따라서 입력받은 데이터로 계산하려면 문자열을 숫자형으로 바꿔야 합니다. 이처럼 프로그램에서는 종종 변수의 데이터 타입을 바꿔야 하는 일이 생깁니다. 문자열을 숫자형으로 또는 숫자형을 문자열로 바꾸기도 하죠. 그럼 데이터 타입은 어떻게 바꿀까요?