🐍 [기초] input과 print 진짜 이해하기 – 단순한 입출력에서 흐름이 시작된다
파이썬을 처음 배울 때
가장 먼저 접한 함수는 아마 print()와 input()이었다.
print("Hello, world!")
처음엔 이게 그냥…
“화면에 글자를 찍는 기능”이라고만 생각했다.
그리고 input()도
“사용자에게 값을 입력받는 함수”라고 배우긴 했는데,
그게 전부인 줄 알았다.
🔹 그런데 프로젝트를 하다 보니, 얘들이 ‘시작과 끝’이더라 🔁
생각해보면 우리가 만든 프로그램은 결국
사용자에게 어떤 걸 보여주고 (print)
**사용자로부터 뭔가를 받는 것 (input)**으로 시작하더라.
예를 들어, 이런 코드:
name = input("당신의 이름은?")
print(f"{name}님, 안녕하세요!")
이거 그냥 초보용 예제처럼 보이지만,
실제로 서비스 만들면서 이런 흐름을 엄청 많이 썼다.
🔹 input은 항상 ‘문자열(str)’이라는 것도 프로젝트 하다가 알았음 😮
처음에 이걸 몰라서 버그도 났었다.
age = input("나이를 입력하세요: ")
if age >= 20:
print("성인입니다.")
🧨 실행하면 에러!
왜냐하면 input()으로 받은 값은 무조건 문자열이라서
int랑 비교하면 안 됐던 거다.
✅ 해결은 이렇게:
age = int(input("나이를 입력하세요: "))
그때 처음으로
❗ “자료형을 바꿔주는 게 중요하구나”
❗ “입출력도 자료형이랑 연결돼 있구나”
이런 걸 진짜로 이해했다.
🔹 print는 디버깅의 친구였다 👀
사실 print()는 단순 출력용인 줄 알았는데,
코드가 안 돌아갈 때마다 결국 내가 제일 많이 쓴 건 이것이었다.
print("user값:", user)
print("조건문 통과함")
디버깅 툴 몰라도,
print() 하나로 흐름 확인이 다 됐다.
그래서 지금도 함수 하나 만들고 나면
그 안에 꼭 print() 넣어서 중간값 확인한다.
어쩌면 print()는 개발자의 마음의 안정을 위한 함수일지도 모른다 😂
✍️ 정리하자면…
- input()은 사용자와 소통하는 시작점이고
항상 문자열로 받기 때문에 int() 같은 형변환이 꼭 필요함 - print()는 단순 출력 도구가 아니라
결과 확인, 디버깅, 흐름 파악의 핵심 도구 - “입력 → 처리 → 출력”이라는 프로그램 구조에서
이 두 함수는 가장 기본이자 핵심이다
수업에선 그냥 따라 쓰던 print()와 input()이
지금은 내 코드에 흐름을 주고, 확인하는 역할을 하고 있다.
📌 “프로그램은 결국, 사용자와 대화하는 구조다.”
그 대화의 시작과 끝을 연결해주는 도구가 바로 이 둘이었다.
📘 다음 글 예고:
🐍 [기초] 리스트 컴프리헨션 10분 컷 정리 – for문보다 짧고, 더 파이썬답게