이번 파이썬 강의에서는 프로그램의 가장 기본적인 기능인 화면 출력과 키보드 입력, 그리고 조건을 판단할 때 사용하는 불리언(Boolean), 논리 연산자, 비교 연산자를 배웠다.
프로그램은 사용자에게 정보를 보여주고, 사용자로부터 값을 입력받은 뒤, 입력된 값에 따라 서로 다른 결과를 만들어 낸다. 이번 내용은 앞으로 조건문과 반복문을 배우기 위한 기초가 되는 부분이다.
1. print() 함수로 화면에 값 출력하기
파이썬에서는 print() 내장 함수를 사용해 값을 콘솔 화면에 출력할 수 있다.
print("Hello, World!")
실행 결과는 다음과 같다.
Hello, World!
print() 안에는 문자열뿐만 아니라 정수, 실수, 리스트 등 다양한 값을 넣을 수 있다.
print("Python", 10, 3.14, [1, 2, 3])
실행 결과:
Python 10 3.14 [1, 2, 3]
여러 개의 값을 쉼표로 구분해 전달하면 기본적으로 각 값 사이에 공백이 들어간다.
2. sep으로 값 사이의 구분 문자 설정하기
print() 함수에 여러 값을 전달하면 기본적으로 공백으로 구분된다.
print("Python", "Java", "JavaScript")
실행 결과:
Python Java JavaScript
값 사이의 구분 문자를 바꾸고 싶다면 sep 키워드 인자를 사용할 수 있다.
print("Python", "Java", "JavaScript", sep=", ")
실행 결과:
Python, Java, JavaScript
다른 문자도 구분자로 사용할 수 있다.
print("2026", "07", "13", sep="-")
실행 결과:
2026-07-13
sep 정리
- sep은 separation의 줄임말이다.
- 여러 출력값 사이에 들어갈 문자를 설정한다.
- 기본값은 공백 한 칸이다.
다음 두 코드는 같은 결과를 출력한다.
print("A", "B", "C")
print("A", "B", "C", sep=" ")
3. end로 출력 마지막 문자 설정하기
print() 함수는 값을 출력한 후 기본적으로 줄을 바꾼다.
print("첫 번째 문장")
print("두 번째 문장")
print("세 번째 문장")
실행 결과:
첫 번째 문장
두 번째 문장
세 번째 문장
줄이 바뀌는 이유는 print() 함수의 end 기본값이 줄바꿈 문자 \n이기 때문이다.
print("첫 번째 문장", end="\n")
print("두 번째 문장", end="\n")
줄을 바꾸지 않고 이어서 출력하려면 end에 빈 문자열을 넣으면 된다.
print("줄이 바뀌지 않습니다.", end="")
print("바로 뒤에 이어집니다.")
실행 결과:
줄이 바뀌지 않습니다.바로 뒤에 이어집니다.
띄어쓰기를 포함해 자연스럽게 이어서 출력할 수도 있다.
print("안녕하세요.", end=" ")
print("파이썬을 공부하고 있습니다.")
실행 결과:
안녕하세요. 파이썬을 공부하고 있습니다.
마지막에 특정 문자를 붙이는 것도 가능하다.
print("이해가 되시나요", end="?")
실행 결과:
이해가 되시나요?
end 정리
- end는 출력이 끝난 뒤 추가할 문자를 설정한다.
- 기본값은 줄바꿈 문자 \n이다.
- end=""를 사용하면 줄이 바뀌지 않는다.
- 공백이나 물음표 등 원하는 문자를 넣을 수 있다.
4. sep과 end 함께 사용하기
sep과 end는 한 번에 사용할 수도 있다.
print("Python", "Java", "JavaScript", sep=", ", end="!")
실행 결과:
Python, Java, JavaScript!
sep과 end는 일반적인 출력값 뒤에 작성해야 한다. 두 키워드 인자 사이의 순서는 바뀌어도 된다.
print("A", "B", sep="-", end="!")
print("A", "B", end="!", sep="-")
두 코드 모두 다음과 같이 출력된다.
A-B!
5. input() 함수로 키보드 입력받기
사용자가 키보드로 입력한 값을 받으려면 input() 내장 함수를 사용한다.
input("아무 값이나 입력하세요: ")
프로그램은 사용자가 값을 입력하고 Enter 키를 누를 때까지 기다린다.
입력한 값을 이후에도 사용하려면 변수에 저장해야 한다.
input_value = input("아무 값이나 입력하세요: ")
print(input_value)
사용자가 다음과 같이 입력했다고 가정해 보자.
파이썬 공부
출력 결과:
파이썬 공부
input() 안에 작성한 문자열은 사용자에게 무엇을 입력해야 하는지 알려주는 안내 메시지 역할을 한다.
6. input()의 결과는 항상 문자열이다
input()으로 받은 값은 사용자가 숫자를 입력하더라도 기본적으로 문자열인 str 타입이 된다.
input_value = input("값을 입력하세요: ")
print(input_value)
print(type(input_value))
사용자가 10을 입력해도 타입은 다음과 같이 나온다.
10
<class 'str'>
화면에서 보기에는 숫자 10처럼 보이지만, 실제로는 문자열 "10"이다.
따라서 다음과 같이 계산하면 예상하지 못한 결과가 나올 수 있다.
number = input("숫자를 입력하세요: ")
print(number + number)
사용자가 10을 입력한 경우 결과는 20이 아니라 다음과 같다.
1010
문자열끼리 + 연산을 하면 두 문자열을 이어 붙이기 때문이다.
7. 입력값을 정수로 변환하기
입력받은 문자열을 정수로 사용하려면 int() 함수를 이용해 자료형을 변환해야 한다.
input_value = input("정수를 입력하세요: ")
number = int(input_value)
print(number)
print(type(number))
사용자가 10을 입력하면 결과는 다음과 같다.
10
<class 'int'>
두 과정을 한 줄로 작성할 수도 있다.
number = int(input("정수를 입력하세요: "))
실행 순서는 다음과 같다.
- input()이 실행된다.
- 사용자의 입력을 기다린다.
- 입력값을 문자열로 반환한다.
- 반환된 문자열이 int()에 전달된다.
- 문자열이 정수로 변환된다.
- 최종 결과가 변수에 저장된다.
예를 들어 사용자가 10을 입력하면 내부적으로 다음과 같은 과정이 진행된다.
number = int("10")
최종적으로 변수 number에는 정수 10이 저장된다.
8. int() 변환 시 주의할 점
모든 문자열을 정수로 바꿀 수 있는 것은 아니다.
number = int("Python")
이 코드를 실행하면 ValueError가 발생한다.
ValueError: invalid literal for int()
"Python"은 정수로 변환할 수 없는 문자열이기 때문이다.
소수점이 포함된 문자열도 바로 int()로 변환할 수 없다.
number = int("3.14")
이 경우에도 ValueError가 발생한다.
실수 형태의 문자열은 먼저 float()로 변환해야 한다.
number = float("3.14")
print(number)
print(type(number))
실행 결과:
3.14
<class 'float'>
사용자의 입력은 언제든 잘못될 수 있기 때문에 실제 프로그램에서는 올바르지 않은 값을 입력했을 때 다시 입력하도록 처리해야 한다. 이러한 예외 처리는 이후 try, except 문법을 배우면서 구현할 수 있다.
불리언과 논리 연산자
9. 불리언 Boolean이란?
불리언은 참과 거짓을 표현하는 자료형이다.
파이썬에서는 다음 두 가지 값만 존재한다.
True
False
- True: 참
- False: 거짓
파이썬은 대소문자를 구분하므로 첫 글자를 반드시 대문자로 작성해야 한다.
print(True)
print(False)
다음과 같이 전부 소문자로 작성하면 올바른 불리언 값으로 인식하지 않는다.
print(true)
실행 결과:
NameError: name 'true' is not defined
파이썬은 true를 불리언이 아니라 정의되지 않은 변수 이름으로 인식한다.
10. 논리 연산자 and
and는 두 조건이 모두 참일 때만 True를 반환하는 연산자다.
print(True and True)
print(True and False)
print(False and True)
print(False and False)
실행 결과:
True
False
False
False
진리표로 정리하면 다음과 같다.
ABA and B
| True | True | True |
| True | False | False |
| False | True | False |
| False | False | False |
예를 들어 회원이면서 성인인 경우에만 서비스를 이용할 수 있다고 가정할 수 있다.
is_member = True
is_adult = True
print(is_member and is_adult)
두 조건이 모두 True이므로 결과는 True다.
11. 논리 연산자 or
or는 두 조건 중 하나라도 참이면 True를 반환한다.
print(True or True)
print(True or False)
print(False or True)
print(False or False)
실행 결과:
True
True
True
False
진리표는 다음과 같다.
ABA or B
| True | True | True |
| True | False | True |
| False | True | True |
| False | False | False |
둘 다 False일 때만 결과가 False가 된다.
12. 논리 연산자 not
not은 불리언 값을 반대로 바꾸는 논리 부정 연산자다.
print(not True)
print(not False)
실행 결과:
False
True
변수에 적용할 수도 있다.
is_logged_in = False
print(not is_logged_in)
실행 결과:
True
비교 연산자
13. 두 값이 같은지 비교하기
파이썬에서 값이 같은지 확인하려면 등호를 두 개 사용한다.
print(2 == 2)
print(3 == 2)
실행 결과:
True
False
여기서 주의해야 할 점은 =와 ==가 서로 다르다는 것이다.
number = 10
=는 오른쪽의 값을 왼쪽 변수에 저장하는 대입 연산자다.
number == 10
==는 두 값이 같은지 확인하는 비교 연산자다.
14. 두 값이 다른지 비교하기
두 값이 서로 다른지 확인하려면 !=를 사용한다.
print(3 != 2)
print(2 != 2)
실행 결과:
True
False
3과 2는 서로 다르기 때문에 첫 번째 결과는 True다.
15. 값의 크기 비교하기
파이썬에서는 다음과 같은 비교 연산자를 사용할 수 있다.
연산자의미
| == | 두 값이 같다 |
| != | 두 값이 다르다 |
| < | 왼쪽 값이 더 작다 |
| > | 왼쪽 값이 더 크다 |
| <= | 왼쪽 값이 작거나 같다 |
| >= | 왼쪽 값이 크거나 같다 |
예제:
print(3 < 2)
print(3 > 2)
print(5 <= 5)
print(5 >= 3)
실행 결과:
False
True
True
True
비교 연산의 결과는 항상 True 또는 False로 나온다.
16. 입력과 비교 연산 함께 사용하기
이번 시간에 배운 입력과 비교 연산을 함께 사용하면 사용자의 값을 판단하는 간단한 프로그램을 만들 수 있다.
age = int(input("나이를 입력하세요: "))
print("성인 여부:", age >= 19)
사용자가 20을 입력하면 다음과 같이 출력된다.
성인 여부: True
사용자가 17을 입력하면 다음과 같이 출력된다.
성인 여부: False
아직 조건문을 배우지는 않았지만 비교 연산이 조건을 판단할 때 사용된다는 점을 확인할 수 있다.
전체 예제
이번 시간에 배운 내용을 하나의 코드로 정리하면 다음과 같다.
name = input("이름을 입력하세요: ")
age = int(input("나이를 입력하세요: "))
is_adult = age >= 19
print("이름", name, sep=": ")
print("나이", age, sep=": ")
print("성인 여부", is_adult, sep=": ")
사용자가 이름으로 장상옥, 나이로 20을 입력한 경우 결과는 다음과 같다.
이름: 장상옥
나이: 20
성인 여부: True
이번 시간 핵심 정리
이번 강의에서 학습한 핵심 내용은 다음과 같다.
- print()는 값을 화면에 출력한다.
- 여러 값을 쉼표로 전달하면 기본적으로 공백으로 구분된다.
- sep은 출력값 사이의 구분 문자를 설정한다.
- end는 출력이 끝난 뒤 추가되는 문자를 설정한다.
- input()은 사용자의 키보드 입력을 받는다.
- input()의 반환값은 항상 문자열이다.
- 숫자로 계산하려면 int()나 float()로 자료형을 변환해야 한다.
- 변환할 수 없는 문자열을 int()에 전달하면 ValueError가 발생한다.
- 불리언 값은 True와 False로 표현한다.
- and는 두 조건이 모두 참일 때 참이다.
- or는 두 조건 중 하나라도 참이면 참이다.
- not은 참과 거짓을 반대로 바꾼다.
- 비교 연산자는 두 값의 동일 여부나 크기를 비교한다.
- =는 대입 연산자이고 ==는 비교 연산자다.
수업을 마치며
이번 수업에서는 단순히 값을 출력하는 것에서 더 나아가 출력 형식을 조절하는 sep과 end를 배웠다. 또한 input()으로 사용자의 값을 입력받고, 입력된 문자열을 정수로 변환하는 과정도 실습했다.
특히 input()으로 입력한 숫자가 실제로는 문자열이라는 점이 중요했다. 화면에 보이는 값만 보고 자료형을 판단하면 오류가 발생할 수 있기 때문에 type()을 이용해 자료형을 직접 확인하는 습관이 필요하다고 느꼈다.
불리언과 논리·비교 연산자는 앞으로 배우게 될 조건문의 핵심 재료다. 지금은 연산 결과로 True와 False가 나오는 정도이지만, 이후에는 이 값을 기준으로 프로그램의 실행 흐름을 나눌 수 있을 것이다.
'AI 개발자 성장기 > AI 오케스트레이션 프리코스' 카테고리의 다른 글
| SK네트웍스 Family 엔코아 AI 오케스트레이션 프리코스 2|파이썬 변수·if 조건문과 문자열 인덱싱·슬라이싱 (0) | 2026.07.20 |
|---|
댓글