본문 바로가기
Language/Python

[고등학생부터, 파이썬] 03. input() 함수와 형변환(Type Casting)

by kellis 2026. 8. 4.
반응형
고등학생부터, 파이썬 · 3화

input() 함수와 형변환(Type Casting)

이번엔 사용자한테서 값을 받아볼 차례예요.

사용자에게 입력받은 숫자는 연산할 때 왜 오류가 날까요?

"문자열로 받은 숫자"를 "진짜 숫자"로 바꾸는 형변환까지 함께 정리해볼게요.

이 시리즈를 시작하며

요즘은 고등학교에서도 코딩을 정규 과목으로 가르치는 시대입니다. 전공자가 아니어도 바이브 코딩(Vibe Coding)이나 생성형 AI(Generative AI)를 활용하면 누구나 그럴듯한 코드 결과물을 만들어낼 수 있게 되었죠. 

개발 언어를 접하는, 전공자가 아닌 일반인 입문자가 많아진 것입니다.

이 시리즈는 글쓴이가 실제로 일반인, 고등학생 등 비전공자·입문자에게 파이썬을 가르치면서 정리한 내용들을 교재 형식으로 엮은 글입니다.최대한 쉽고 친절하게 설명하면서도, 컴퓨터와 프로그래밍 언어에 대한 기초 이론까지 함께 짚고 넘어가려 합니다.

 

고등학생, 비전공자, 완전 입문자도 따라올 수 있게끔 만든 시리즈이고, 실제 과외 수업 자료를 바탕으로 만들어서 학교 시험처럼 개념 확인 문제도 그대로 들어있어요.

중간중간 빈칸 채우기학교 시험 유형 문제가 나오는데, 정답은 바로 안 보이게 접어뒀습니다. 먼저 스스로 생각해본 다음 "보기"를 눌러서 확인해보세요.

Chapter 05
input() 함수

input() 함수는 사용자로부터 데이터를 입력받는 함수입니다.

입력받은 값은 항상 문자열(String)로 저장됩니다. 이것이 input()의 가장 중요한 특징입니다.

예제
python
name = input("이름 : ")
print(name)
중요한 내용

input()으로 숫자를 입력해도 결과는 항상 str(문자열)로 반환됩니다.

input() → 항상 str 반환

빈칸 채우기
  1. input()은 사용자에게 을 받는 함수이다.
  2. input()으로 입력받은 값은 항상 자료형이다.
정답
① 값(데이터)  ② 문자열(str)
학교 시험 유형
  1. input()으로 숫자를 입력받아도 문자열이 되는 이유를 서술하시오.
정답
input() 함수는 사용자가 입력한 내용을 어떤 값이든 상관없이 항상 문자열(str) 형태로 반환하도록 설계되어 있기 때문입니다. 숫자로 쓰려면 int()float()로 별도 형변환을 해야 합니다.
Chapter 06
형변환 (Type Casting)

지난 포스트에서 배웠듯이 문자열 숫자는 숫자 계산을 할 수 없습니다. 문자열끼리 이어붙여질 뿐이죠.

따라서 문자열을 숫자로 바꾸는 과정이 필요한데, 이를 형변환(Type Casting)이라고 합니다.

예제
python
age = int(input("나이 : "))
print(age + 1)
함수 설명
int() 정수로 변환
float() 실수로 변환
str() 문자열로 변환
type() 데이터의 자료형(타입)을 확인 (변환하지 않음)
알아두기 · type() 함수로 자료형 확인하기

type()은 값을 바꾸는 함수가 아니라, 현재 데이터가 어떤 자료형인지 확인할 때 사용합니다. 형변환이 잘 되었는지 점검할 때 유용합니다.

python
print(type(100)) # <class 'int'>
print(type("100")) # <class 'str'>
print(type(3.14)) # <class 'float'>
빈칸 채우기
  1. ① 문자열을 정수로 변환하는 함수는 이다.
  2. ② 문자열을 실수로 변환하는 함수는 이다.
  3. ③ 숫자를 문자열로 변환하는 함수는 이다.
  4. ④ 데이터의 자료형을 확인하는 함수는 이다.
정답
① int()  ② float()  ③ str()  ④ type()
학교 시험 유형
  1. 다음 코드에서 오류가 발생하는 이유를 작성하시오.
    python
    age = input("나이 : ")
    print(age + 1)
  2. print(type("100"))의 실행 결과를 쓰시오.
정답
1. input()으로 받은 age는 문자열(str)인데, 여기에 정수 1을 더하려고 하면 자료형이 서로 달라 TypeError가 발생합니다. (문자열끼리는 더할 수 있지만, 문자열과 숫자는 더할 수 없습니다.)

2. <class 'str'>
다음 화 예고 — 4화에서는 산술 연산자(+, -, *, /, // , %, **)와 비교 연산자(==, !=, >, < 등)를 다뤄볼게요.

 

반응형

댓글