본문 바로가기

[Python] 9강 input으로 받은 값은 왜 문자열일까?

@도마22025. 12. 25. 21:00
728x90


이전 강의에서는 input 함수로 값을 입력받는 방법을 배웠습니다.
이번 강의에서는 input으로 받은 값이
왜 항상 문자열(str)로 처리되는지를 알아봅니다.


input 값이 문자열인 이유

사용자가 키보드로 입력하는 모든 값은
문자 형태로 전달됩니다.

키보드는
숫자와 글자를 구분해서 보내지 않습니다.
파이썬은 입력된 값을
일단 안전하게 문자열로 받도록 설계되어 있습니다.

그래서 숫자를 입력했더라도
파이썬 내부에서는
문자열로 처리됩니다.


1️⃣ 입력값의 실제 타입 확인하기

input으로 받은 값이
어떤 타입인지 직접 확인해봅니다.

value = input("아무 값이나 입력하세요: ")
print(type(value))

실행 결과는 다음과 같습니다.

<class 'str'>

어떤 값을 입력해도
결과는 항상 str입니다.


2️⃣ 문자열과 숫자의 차이 다시 보기

문자열과 숫자는
동작 방식이 완전히 다릅니다.

a = "10"
b = "20"

print(a + b)

실행 결과는 다음과 같습니다.

1020

이유는
문자열은 더하기(+)를 하면
연결되기 때문입니다.


3️⃣ 숫자로 계산하려고 하면 생기는 문제

input으로 받은 값을
바로 계산하려고 하면
다음과 같은 문제가 발생합니다.

age = input("나이를 입력하세요: ")
print(age + 1)

이 코드는
문자열과 숫자를 더하려고 해서
에러가 발생합니다.

이 문제를 해결하려면
형 변환이 필요합니다.


4️⃣ 형 변환이란 무엇인가

형 변환은
값의 자료형을 바꾸는 것입니다.

문자열을 숫자로 바꾸면
계산이 가능해집니다.

파이썬에서는
다음 함수를 사용합니다.

  • int() : 정수로 변환
  • float() : 실수로 변환

5️⃣ 문자열을 정수로 바꿔보기

예제를 봅니다.

age = input("나이를 입력하세요: ")
age = int(age)

print(age + 1)

이제
정상적으로 계산됩니다.


6️⃣ 실수로 변환하는 경우

소수점이 필요한 값은
float()를 사용합니다.

height = input("키를 입력하세요: ")
height = float(height)

print(height + 1)

이렇게 하면
실수 계산도 가능합니다.


이번 강의 핵심 정리

  • input으로 받은 값은 항상 문자열이다
  • 문자열은 숫자 계산이 불가능하다
  • 형 변환을 통해 문자열을 숫자로 바꿀 수 있다
  • int()와 float()를 상황에 맞게 사용한다

나이를 입력받아서
10년 뒤 나이를 출력해보세요.
어디까지 혼자 해봤나요?

다음 강의에서는
형 변환을 한 줄로 처리하는 방법을 배웁니다.
입력과 변환을 동시에 하는 방법을 알아봅니다.


728x90
도마2
@도마2 :: 도마의 코드노트

초보자를 위한 코딩 강의를 정리합니다. 파이썬부터 C#, Unity 게임 제작까지 차근차근 기록합니다. — 도마

목차