그런데 숫자를 작은따옴표로 감싼 문자열이 아니라 진짜 문자열을 숫자형으로 바꾸면 어떻게 될까요? 예를 들어, a 변수에 '제임스'가 저장됐을 때 int()로 감싸면 정수형으로 바뀔까요? 한번 실행해 봅시다.
a = '제임스'
print(type(a))
a = int(a)
print(type(a), a * 3)
실행결과
<class 'str'>
---------------------------------------------------------------------------
----> 4 a = int(a)
ValueError: invalid literal for int() with base 10: '제임스'
역시 오류가 발생합니다. 4번째 줄에서 오류가 발생했네요. 마지막 줄의 ValueError 내용을 해석해 봅시다. base 10은 ‘10진법’을 의미하므로 “값오류: 10진법에서 정수형에 유효하지 않은 문자: ‘제임스’’’라고 해석할 수 있습니다. 이는 a 변수에 저장된 ‘제임스’를 정수형으로 바꿀 수 없다는 뜻입니다. 한글이나 알파벳으로 된 문자는 int()로 감싸도 정수형으로 바꿀 수 없습니다. float()도 마찬가지고요.
졔졔쌤의 조언
파이썬은 데이터 타입만 잘 이해해도 훨씬 수월하게 프로그래밍할 수 있습니다. 데이터 타입이 다소 지루하게 느껴지더라도 천천히 꼼꼼하게 학습해서 자신의 것으로 만들길 바랍니다.