Python 프로그램의 기본, 출력과 입력 이해하기
Python을 처음 배우다 보면 print()와 input()을 가장 먼저 만나게 됩니다.
화면에 문장을 출력하거나 사용자가 입력한 값을 프로그램에서 사용하려면 이 두 가지 기능을 알아야 합니다.
특히 변수와 함께 print()와 input()을 사용하면 사용자가 직접 값을 입력하고, 그 값을 프로그램이 처리한 뒤 결과를 보여주는 간단한 프로그램을 만들 수 있습니다.
Python의 입출력은 이후 조건문, 반복문, 함수, 데이터 처리 등을 배우는 과정에서도 계속 사용되기 때문에 처음부터 정확하게 이해해 두는 것이 좋습니다.
Python에서 출력이란?
출력은 프로그램이 가지고 있는 정보를 화면에 보여주는 것을 의미합니다.
Python에서는 print() 함수를 사용해 데이터를 화면에 출력할 수 있습니다.
가장 간단한 형태는 다음과 같습니다.
print("Hello, Python!")
실행하면 다음과 같이 출력됩니다.
Hello, Python!
문자열뿐만 아니라 숫자나 변수도 출력할 수 있습니다.
name = "지지"
age = 25
print(name)
print(age)
실행 결과는 다음과 같습니다.
지지
25
print() 함수는 Python 프로그램에서 결과를 확인하거나 사용자에게 정보를 전달할 때 매우 자주 사용됩니다.
print()로 여러 값을 출력하는 방법
print() 안에 여러 개의 값을 넣을 수도 있습니다.
각 값은 쉼표(,)로 구분합니다.
name = "지지"
age = 25
print(name, age)
실행 결과:
지지
25
Python은 쉼표로 구분된 값을 기본적으로 한 칸의 공백을 넣어 출력합니다.
문장과 변수를 함께 출력하는 것도 가능합니다.
name = "지지"
print("안녕하세요.", name, "님!")
결과:
안녕하세요. 지지 님!
Python에서 입력이란?
입력은 사용자가 프로그램에 데이터를 전달하는 것을 의미합니다.
Python에서는 input() 함수를 사용합니다.
예를 들어 다음과 같이 작성할 수 있습니다.
name = input("이름을 입력하세요: ")
print(name)
프로그램을 실행하면 다음과 같이 입력을 기다립니다.
이름을 입력하세요: 지지
사용자가 지지을 입력하면 input()이 입력받은 값을 변수 name에 저장합니다.
그 후 print(name)이 변수에 저장된 값을 화면에 출력합니다.
결과적으로 프로그램의 흐름은 다음과 같습니다.
입력 → 변수에 저장 → 출력
이 구조는 Python 프로그래밍에서 매우 기본적이면서 중요한 개념입니다.
input()으로 입력받은 값은 문자열이다
input()을 처음 사용할 때 특히 주의해야 할 부분이 있습니다.
input()으로 입력받은 값은 기본적으로 문자열(str)입니다.
예를 들어 다음 코드를 살펴보겠습니다.
age = input("나이를 입력하세요: ")
print(age)
print(type(age))
사용자가 25를 입력하더라도 age의 자료형은 정수가 아니라 문자열입니다.
나이를 입력하세요: 25
25
class 'str'
즉, 화면에서 숫자처럼 보인다고 해서 Python이 자동으로 정수로 처리하는 것은 아닙니다.
숫자로 계산해야 한다면 자료형을 변환해야 합니다.
입력받은 값을 숫자로 변환하기
정수로 사용하려면 int()를 사용할 수 있습니다.
age = int(input("나이를 입력하세요: "))
print(age + 1)
사용자가 25를 입력하면 다음과 같은 결과가 나옵니다.
나이를 입력하세요: 25
26
여기서 중요한 부분은 다음과 같습니다.
input() → 문자열 입력int() → 문자열을 정수로 변환print() → 결과 출력
실제 코드에서는 다음처럼 한 줄로 작성하는 경우가 많습니다.
age = int(input("나이를 입력하세요: "))
문자열과 숫자의 차이
input()을 사용할 때 문자열과 숫자의 차이를 이해하면 오류를 줄일 수 있습니다.
예를 들어 다음 코드를 실행한다고 생각해 보겠습니다.
a = input("첫 번째 숫자: ")
b = input("두 번째 숫자: ")
print(a + b)
10과 20을 입력하면 결과는 30이 아니라 다음과 같이 나옵니다.
1020
두 값이 문자열이기 때문에 + 연산이 숫자의 덧셈이 아니라 문자열 연결로 동작하기 때문입니다.
숫자를 더하고 싶다면 다음과 같이 작성해야 합니다.
a = int(input("첫 번째 숫자: "))
b = int(input("두 번째 숫자: "))
print(a + b)
실행 결과:
첫 번째 숫자: 10
두 번째 숫자: 20
30
이 차이는 Python을 처음 배울 때 자주 발생하는 실수이므로 기억해 두는 것이 좋습니다.
print()와 input()을 함께 사용해 보기
이제 input()으로 사용자의 이름을 입력받고 print()로 인사말을 출력하는 간단한 프로그램을 만들어 보겠습니다.
name = input("이름을 입력하세요: ")
print("안녕하세요,", name, "님!")
사용자가 지지를 입력하면 다음과 같이 출력됩니다.
이름을 입력하세요: 지지
안녕하세요, 지지 님!
이번에는 이름과 나이를 모두 입력받아 보겠습니다.
name = input("이름을 입력하세요: ")
age = int(input("나이를 입력하세요: "))
print("이름:", name)
print("나이:", age)
실행 예시는 다음과 같습니다.
이름을 입력하세요: 지지
나이를 입력하세요: 25
이름: 지지
나이: 25
이 정도만 이해해도 사용자의 입력을 받아 변수에 저장하고, 그 값을 다시 출력하는 기본적인 Python 프로그램을 직접 만들 수 있습니다.
변수와 입출력의 관계
input()과 print()를 이해하려면 변수의 역할도 함께 알아두는 것이 좋습니다.
예를 들어 다음 코드에서:
name = input("이름을 입력하세요: ")
프로그램은 다음 순서로 동작합니다.
input()이 사용자에게 입력을 요청합니다.- 사용자가 값을 입력합니다.
- 입력된 값이 문자열로 반환됩니다.
- 반환된 값을
name변수에 저장합니다. - 이후
name을 다른 코드에서 사용할 수 있습니다.
예를 들어 입력받은 값을 여러 번 사용할 수도 있습니다.
name = input("이름을 입력하세요: ")
print("입력한 이름:", name)
print("반갑습니다.", name, "님!")
print("다시 한번 확인:", name)
변수에 데이터를 저장해 두면 프로그램의 여러 부분에서 해당 값을 활용할 수 있습니다.
실생활과 비슷한 Python 입출력 예제
간단한 계산기를 만들어 보면 입출력의 구조를 더욱 쉽게 이해할 수 있습니다.
num1 = int(input("첫 번째 숫자를 입력하세요: "))
num2 = int(input("두 번째 숫자를 입력하세요: "))
result = num1 + num2
print("두 숫자의 합:", result)
사용자가 10과 20을 입력하면:
첫 번째 숫자를 입력하세요: 10
두 번째 숫자를 입력하세요: 20
두 숫자의 합: 30
이 프로그램에는 Python에서 앞으로 배우게 될 중요한 개념들이 이미 포함되어 있습니다.
입력받기 → 자료형 변환 → 변수 저장 → 계산 → 결과 출력
이러한 구조는 단순한 계산기뿐만 아니라 데이터 처리 프로그램을 만들 때도 기본이 됩니다.
f-string을 사용하면 출력이 더 편리하다
변수와 문자열을 함께 출력하는 방법으로 Python의 f-string도 많이 사용합니다.
예를 들어 다음과 같이 작성할 수 있습니다.
name = input("이름을 입력하세요: ")
age = int(input("나이를 입력하세요: "))
print(f"안녕하세요. {name}님!")
print(f"나이는 {age}살입니다.")
실행하면 다음과 같습니다.
이름을 입력하세요: 지지
나이를 입력하세요: 25
안녕하세요. 지지님!
나이는 25살입니다.
f-string에서는 문자열 앞에 f를 붙이고 중괄호 {} 안에 변수 이름을 작성합니다.
변수와 문자열을 자연스럽게 조합할 수 있기 때문에 Python에서 결과를 출력할 때 자주 사용되는 방법입니다.
Python 입출력에서 자주 하는 실수
1. input()의 값을 숫자라고 생각하는 경우
age = input("나이: ")
print(age + 1)
이 코드는 원하는 결과가 나오지 않습니다. input()의 결과가 문자열이기 때문입니다.
숫자로 계산하려면 다음과 같이 작성합니다.
age = int(input("나이: "))
print(age + 1)
2. 변수 이름을 잘못 입력하는 경우
Python에서는 변수 이름을 정확하게 작성해야 합니다.
name = input("이름: ")
print(Name)
위 코드에서는 name과 Name을 서로 다른 변수로 인식하기 때문에 오류가 발생합니다.
Python은 대문자와 소문자를 구분합니다.
3. 숫자가 아닌 값을 int()로 변환하는 경우
다음과 같이 작성하면:
age = int(input("나이: "))
사용자가 스물다섯처럼 숫자가 아닌 문자열을 입력할 경우 정수로 변환할 수 없어 오류가 발생합니다.
따라서 실제 프로그램에서는 사용자가 올바른 값을 입력했는지 확인하는 과정도 필요합니다. 이런 예외 처리는 이후 if문과 try-except 등을 배우면서 더욱 자세하게 다룰 수 있습니다.
Python 입출력 핵심 정리
| 기능 | 설명 | 예시 |
|---|---|---|
print() | 화면에 데이터를 출력 | print("Hello") |
input() | 사용자 입력을 받음 | input("이름: ") |
int() | 정수로 변환 | int("25") |
float() | 실수로 변환 | float("3.14") |
str() | 문자열로 변환 | str(25) |
처음에는 모든 기능을 한꺼번에 외우기보다 input()으로 값을 받고 변수에 저장한 다음 print()로 출력하는 흐름을 먼저 이해하는 것이 좋습니다.
Python 설치와 공식 문서 확인
아직 Python이 설치되어 있지 않다면 Python 공식 홈페이지에서 운영체제에 맞는 설치 파일을 확인할 수 있습니다.
Python의 문법이나 내장 함수에 대해 더 자세히 확인하고 싶다면 공식 문서도 참고할 수 있습니다.
자주 묻는 질문(FAQ)
Q. Python에서 화면에 글자를 출력하려면 어떻게 하나요?
print() 함수를 사용하면 됩니다.
예를 들어 print("Hello")를 실행하면 화면에 Hello가 출력됩니다.
Q. Python에서 사용자 입력을 받으려면 어떻게 하나요?
input() 함수를 사용합니다.
name = input("이름을 입력하세요: ")처럼 작성하면 사용자가 입력한 값을 name 변수에 저장할 수 있습니다.
Q. input()으로 숫자를 입력받았는데 왜 계산이 안 되나요?
input()은 기본적으로 문자열을 반환하기 때문입니다.
숫자 계산이 필요하다면 int() 또는 float() 등을 이용해 자료형을 변환해야 합니다.
예를 들어 num = int(input("숫자를 입력하세요: "))와 같이 작성할 수 있습니다.
Q. print()와 input()은 Python에서 자주 사용하나요?
네. 두 함수 모두 Python의 기본적인 입출력을 이해하는 데 중요한 함수입니다.
특히 Python을 처음 배우면서 조건문, 반복문, 함수 등을 연습할 때 사용자 입력과 결과 출력을 확인하기 위해 자주 사용합니다.
Q. input()으로 입력받은 값을 변수에 꼭 저장해야 하나요?
꼭 그렇지는 않습니다.
예를 들어 print(input("아무 값이나 입력하세요: "))처럼 바로 출력할 수도 있습니다.
다만 입력한 값을 나중에 다시 사용하려면 변수에 저장하는 것이 일반적입니다.
마무리
Python의 간단한 입출력은 복잡해 보이지만 핵심 구조는 매우 간단합니다.
input()으로 사용자의 데이터를 입력받고, 변수에 저장한 뒤 필요한 작업을 수행하고, print()로 결과를 출력하면 됩니다.
특히 input()으로 받은 값은 기본적으로 문자열이라는 점을 기억하는 것이 중요합니다. 숫자 계산이 필요할 때는 int()나 float() 등을 이용해 적절한 자료형으로 변환해야 합니다.
다음 단계에서는 이렇게 입력받은 값을 활용해 if 조건문으로 상황에 따라 다른 결과를 출력하거나, for와 while 반복문을 이용해 같은 작업을 반복하는 방법을 배우면 Python의 기본적인 프로그램 구조를 훨씬 쉽게 이해할 수 있습니다.