Menu

파이썬 print()와 input(): 사용자 입력 받기와 출력하기

파이썬의 print()와 input() 함수가 어떻게 동작하는지 — 구분자, 줄 끝 문자, 그리고 사용자 입력을 숫자로 바꾸는 법까지.

프로그램을 대화형으로 만들어주는 두 함수

초기 파이썬 프로그램은 대부분 같은 모양을 따라가요. input()으로 사용자에게 뭔가를 묻고, 그 답으로 뭔가를 하고, print()로 결과를 다시 알려주는 거예요. 이 두 내장 함수가 여러분의 코드와 세상을 이어주는 통로예요.

하나씩 차례로 볼게요.

가장 간단하게는, print()가 터미널에 텍스트 한 줄을 씁니다:

main.py
Output
Click Run to see the output here.

hello라는 단어를 내보내고 그 뒤에 줄바꿈을 붙여요. 이 줄바꿈 덕분에 연이은 print 호출이 화면에서 서로 구분됩니다.

한 호출에 여러 값을 넘길 수 있고, 파이썬이 값 사이에 공백을 끼워 넣어줍니다:

main.py
Output
Click Run to see the output here.

출력:

Name: Ada Age: 36

값이 꼭 문자열일 필요는 없어요. print는 각 인자에 str()을 호출해 주니까 타입을 자유롭게 섞어도 됩니다:

main.py
Output
Click Run to see the output here.

구분자 바꾸기

값 사이의 공백이 싫다면 sep를 쓰세요:

main.py
Output
Click Run to see the output here.

줄 끝 문자 바꾸기

기본적으로 print는 뒤에 줄바꿈을 붙입니다. 이걸 바꾸려면 end를 쓰세요 — 예를 들어 출력을 같은 줄에 이어 붙이려면:

main.py
Output
Click Run to see the output here.

end=""는 한 줄을 조각조각 이어 붙여 만들 때 쓰는 트릭이에요.

print는 stdout으로 나갑니다

기본적으로 printstdout(표준 출력) — 터미널 출력이 평소 나타나는 곳 — 에 씁니다. file 인자로 stderr, 파일, 또는 파일 같은 다른 객체로 리다이렉트할 수 있어요:

main.py
Output
Click Run to see the output here.

포맷된 출력 — 소수점 둘째 자리, 열 정렬, 큰 숫자의 쉼표 — 에는 print 안쪽에서 f-string을 쓰세요:

main.py
Output
Click Run to see the output here.

input(): 사용자에게서 읽기

input(prompt)는 프로그램을 멈추고, 프롬프트를 보여주고, 기다려요. 사용자가 타이핑한 내용이 — 엔터를 누르기 전까지 — 문자열로 돌아옵니다.

main.py
Output
Click Run to see the output here.

초보자를 자주 무는 input의 세 가지:

언제나 문자열을 돌려줍니다

사용자가 42를 쳐도 돌아오는 건 문자열 "42"예요. 바로 산술 연산을 할 수 없어요:

main.py
Output
Click Run to see the output here.

그래서 int(input(...))float(input(...))를 한 줄에 쓰는 걸 자주 보게 돼요. 사용자가 유효한 숫자가 아닌 걸 입력하면 int()ValueError를 던지는데, 그건 예외 처리 챕터에서 제대로 다룹니다.

프롬프트는 선택이에요

프롬프트 문자열을 넘기지 않으면 input()은 조용히 기다립니다. 거의 항상 잘못된 선택이에요 — 사용자는 뭘 요구받는지 알 수가 없거든요. 항상 분명한 프롬프트를 넘기세요:

main.py
Output
Click Run to see the output here.

아무것도 잘라내지 않아요

사용자가 입력한 건 앞뒤 공백까지 전부 그대로 돌아옵니다. 로직에 영향이 있다면 .strip()을 부르세요:

main.py
Output
Click Run to see the output here.

아주 작은 완성된 프로그램

다 모아볼까요 — 사용자 정보를 묻고 짧은 리포트를 출력하는 몇 줄의 코드예요:

main.py
Output
Click Run to see the output here.

열두 줄. 코드라기보다 지침서처럼 위에서 아래로 읽혀요. 이 문서들이 지향하는 스타일이 바로 그거예요.

"진짜 개발자들은 print 문이 아니라 디버거를 쓴다"는 말을 가끔 듣게 되실 거예요. 과장된 말이에요. print는 훌륭한 디버깅 도구예요 — 특히 작은 스크립트나 잠깐의 실험에서요. 뭔가 알아내려는 동안에는 print를 넉넉히 뿌려두고, 끝나면 걷어내세요.

작은 삶의 질 팁 두 개:

main.py
Output
Click Run to see the output here.

f-string 안의 =은 이름과 값을 같이 출력해 줘서, print("name =", name) 같은 반복을 많이 줄여줘요.

다음으로

printinput으로 완전한 대화 루프가 만들어졌어요: 묻고, 읽고, 응답하기. 다음 챕터부터는 조건if 문과 연산자들 — 을 섞기 시작합니다. 프로그램이 본 값에 따라 무엇을 할지 결정하게 해주는 것들이에요.

자주 묻는 질문

파이썬에서 print()는 뭘 하나요?

값을 터미널에 출력해요. print("hello")hello를 내보내고 줄바꿈을 붙입니다. 여러 값을 쉼표로 구분해 넘기면 기본적으로 값 사이에 공백이 들어가요.

파이썬에서 input()은 어떻게 동작하나요?

input(prompt)는 프로그램을 멈춘 뒤 사용자에게 프롬프트를 보여주고, 뭔가 입력하고 엔터를 누를 때까지 기다렸다가, 입력한 내용을 문자열로 돌려줍니다. 항상 문자열이에요 — 숫자가 필요하면 int(...)float(...)로 감싸세요.

파이썬에서 같은 줄에 이어서 출력하려면요?

printend=""를 넘기세요. 기본적으로 print는 출력 뒤에 줄바꿈을 붙이는데, end를 빈 문자열(또는 다른 문자)로 바꾸면 그 줄바꿈을 대체합니다.

Coddy로 코딩 배우기

시작하기