안녕하세요! 지난 시간에는 파이썬의 가장 기본적인 구성 요소인 변수와 자료형(숫자, 문자열, 불린)에 대해 알아보았습니다. 이제 여러분은 데이터를 담는 그릇을 만들고, 데이터의 종류를 구분할 수 있게 되었죠.
이번 시간에는 파이썬 프로그램이 사용자와 상호작용할 수 있도록 하는 매우 중요한 두 가지 기능, 바로 화면에 내용을 출력하는 print() 함수와 사용자로부터 입력을 받는 input() 함수에 대해 자세히 살펴보겠습니다.
이 두 함수를 통해 여러분의 프로그램은 비로소 "대화"를 시작할 수 있습니다!
Part 1: print() 함수 - 화면에 출력하기
print() 함수는 파이썬에서 가장 자주 사용되는 함수 중 하나입니다. 여러분이 작성한 코드의 결과를 보거나, 사용자에게 어떤 메시지를 전달할 때 사용됩니다. "Hello, World!"를 출력할 때 이미 사용해 보셨죠?
1. 기본적인 사용법
- print() 함수는 괄호 안에 출력하고 싶은 내용을 넣으면 됩니다. 텍스트는 따옴표("" 또는 '')로 감싸야 합니다.
예시:
print("안녕하세요, 파이썬 초보자 여러분!")
print('코딩은 즐거워요!')
name = "파이썬"
version = 3.9
print(name) # 변수의 값도 출력할 수 있어요.
print(version)
2. 여러 값 동시에 출력하기 (쉼표 , 사용)
- print() 함수는 여러 개의 값을 쉼표(,)로 구분하여 한 번에 출력할 수 있습니다. 이때 각 값은 기본적으로 **공백(Space)**으로 구분되어 출력됩니다.
예시:
print("이름:", "김코딩", "나이:", 25)
city = "서울"
weather = "맑음"
temperature = 28.5
print("현재", city, "날씨는", weather, "이고, 온도는", temperature, "도입니다.")

[VS Code 터미널 출력]

3. sep (Separator) 매개변수 - 값 사이 구분자 변경
- print() 함수는 sep라는 특별한 매개변수를 사용하여 여러 값을 출력할 때 그 사이사이에 들어갈 구분자를 변경할 수 있습니다. 기본값은 공백입니다.
예시:
print("2024", "06", "17", sep="-") # 결과: 2024-06-17
print("apple", "banana", "cherry", sep=", ") # 결과: apple, banana, cherry
4. end 매개변수 - 출력 끝에 오는 문자 변경
- print() 함수는 기본적으로 내용을 출력한 후 **자동으로 줄바꿈(\n)**을 합니다. end 매개변수를 사용하면 줄바꿈 대신 다른 문자를 출력 끝에 오도록 변경할 수 있습니다.
예시:
print("첫 번째 줄입니다.", end=" ") # 줄바꿈 대신 공백을 끝에 추가
print("두 번째 줄입니다.") # 이어서 출력됩니다.
# \r은 캐리지 리턴 (줄의 맨 앞으로 커서 이동) 효과를 낼 수 있지만, 웹 환경에서는 보이지 않을 수 있습니다.
# console에서 로딩 바 등을 만들 때 유용합니다.
# print("로딩 중...", end="\r")
# import time
# time.sleep(1) # 1초 대기
# print("완료!")

[VS Code 터미널 출력]

Part 2: input() 함수 - 사용자 입력 받기
input() 함수는 프로그램이 실행되는 동안 사용자로부터 직접 데이터를 입력받을 때 사용합니다. 사용자에게 질문을 하고, 그 답변을 변수에 저장하는 방식으로 활용됩니다.
1. 기본적인 사용법
- input() 함수는 괄호 안에 사용자에게 보여줄 **안내 메시지(프롬프트)**를 넣을 수 있습니다. 사용자가 데이터를 입력하고 Enter 키를 누르면, 그 입력값이 반환되어 변수에 저장됩니다.
기본 형식:
변수이름 = input("안내 메시지: ")
예시:
name = input("이름을 입력하세요: ")
print("안녕하세요,", name, "님!")
favorite_food = input("가장 좋아하는 음식은 무엇인가요? ")
print(f"{name}님은 {favorite_food}를 좋아하시는군요!")


2. input()은 항상 문자열(String)을 반환한다! (중요!)
- 매우 중요합니다!: input() 함수로 사용자로부터 어떤 값을 입력받든, 그 값은 항상 문자열(String) 자료형으로 반환됩니다.
- 만약 숫자를 입력받아서 계산에 사용하고 싶다면, 반드시 해당 문자열을 숫자 자료형(정수 int() 또는 실수 float())으로 변환해주어야 합니다.
예시 (문자열 그대로 사용 vs. 숫자형으로 변환):
# 문자열로 받은 나이를 그대로 출력 (문제 없음)
age_str = input("나이를 입력하세요 (문자열): ")
print("당신의 나이는", age_str, "세입니다.")
print(type(age_str)) # <class 'str'> 출력
# 아래 코드를 주석 처리하지 않고 실행하면 오류가 발생할 수 있습니다.
# 문자열과 숫자를 직접 더할 수 없기 때문입니다.
# age_str_error_example = input("오류 예시를 위해 나이를 입력하세요: ")
# # print(age_str_error_example + 1) # 주석을 풀고 실행하면 TypeError 발생
# 문자열을 정수(int)로 변환하여 계산
age_int = int(input("나이를 입력하세요 (정수): ")) # int() 함수로 변환
print("2년 후 당신의 나이는", age_int + 2, "세입니다.")
print(f"변환된 나이의 자료형: {type(age_int)}")
# 문자열을 실수(float)로 변환하여 계산
height_float = float(input("키를 입력하세요 (예: 175.5, 실수): ")) # float() 함수로 변환
print(f"당신의 키는 {height_float}cm 입니다.")
print(f"변환된 키의 자료형: {type(height_float)}")

[VS Code 터미널 출력 (사용자 입력 포함)]

(괄호 [] 안의 내용은 사용자가 직접 입력하는 부분입니다.)
Part 3: print()와 input() 활용 예제
이제 print()와 input()을 함께 사용하여 간단한 대화형 프로그램을 만들어봅시다.
예제: 간단한 자기소개 프로그램
print("--- 자기소개 프로그램 ---")
user_name = input("이름을 입력해주세요: ")
user_age_str = input(f"{user_name}님의 나이를 입력해주세요: ")
# 입력받은 나이는 문자열이므로, 정수로 변환합니다.
user_age_int = int(user_age_str)
user_city = input(f"{user_name}님은 어느 도시에 사시나요? ")
print("\n--- 당신의 정보 ---") # 줄바꿈을 위해 \n 사용
print("이름:", user_name)
print("나이:", user_age_int, "세")
print("사는 곳:", user_city)
print(f"반갑습니다, {user_city}에 사는 {user_age_int}세 {user_name}님!") # f-string으로 깔끔하게 출력

[VS Code 터미널 출력 (사용자 입력 포함)]

(괄호 [] 안의 내용은 사용자가 직접 입력하는 부분입니다.)
마무리하며
이번 시간에는 파이썬에서 사용자로부터 데이터를 입력받는 input() 함수와 데이터를 화면에 출력하는 print() 함수에 대해 자세히 알아보았습니다. 특히, input() 함수가 항상 문자열을 반환하므로 필요에 따라 int()나 float() 등으로 자료형을 변환해야 한다는 점을 꼭 기억해주세요!
이제 여러분은 프로그램과 대화하고, 사용자로부터 필요한 정보를 얻어올 수 있게 되었습니다. 이는 모든 대화형 프로그램의 기본 중의 기본입니다.
다음 포스팅에서는 파이썬에서 데이터를 계산하고 비교하며 논리적인 판단을 내리는 데 사용되는 **기본 연산자(산술, 비교, 논리)**에 대해 알아보겠습니다.
궁금한 점이 있다면 언제든지 질문해주세요! 다음 포스팅에서 만나요!
'Python' 카테고리의 다른 글
1-8. 파이썬에서 오류가 나는 이유와 에러 메시지 읽기 (0) | 2025.06.20 |
---|---|
1-7. 파이썬 기본 연산자 (산술, 비교, 논리) (0) | 2025.06.20 |
1-5. 변수와 자료형 (숫자, 문자열, 불린) (2) | 2025.06.08 |
1-4. 주석, 코드 스타일, 들여쓰기 개념 (0) | 2025.06.08 |
1-3. Hello, World! 파이썬 첫 실행 (0) | 2025.06.08 |