지금까지 print() 함수를 단순히 값을 출력하는 용도로만 사용했습니다. 하지만 print() 함수는 훨씬 더 다양한 기능을 제공합니다. 이번 포스트에서는 여러 값을 동시에 출력하는 방법과 출력 형식을 제어하는 제어 문자에 대해 알아보겠습니다.
print() 함수는 쉼표(,)로 구분하여 여러 값을 동시에 출력할 수 있습니다.
print('Hello', 'Python', 2025)
출력 결과:
Hello Python 2025
쉼표로 구분된 값들은 공백(스페이스) 하나로 연결되어 출력됩니다.
name = '파이썬'
age = 33
version = 3.12
print('언어:', name, '나이:', age, '버전:', version)
출력 결과:
언어: 파이썬 나이: 33 버전: 3.12
print('정수:', 100)
print('실수:', 3.14)
print('문자열:', 'Python')
print('불:', True)
# 한 번에 출력
print('정수:', 100, '실수:', 3.14, '문자열:', 'Python', '불:', True)
출력 결과:
정수: 100
실수: 3.14
문자열: Python
불: True
정수: 100 실수: 3.14 문자열: Python 불: True
print() 함수는 자동으로 모든 자료형을 문자열로 변환하여 출력합니다.
기본적으로 값들은 공백으로 구분되지만, sep 매개변수로 구분자를 변경할 수 있습니다.
# 기본 (공백)
print('Apple', 'Banana', 'Cherry')
# Apple Banana Cherry
# 쉼표로 구분
print('Apple', 'Banana', 'Cherry', sep=', ')
# Apple, Banana, Cherry
# 줄바꿈으로 구분
print('Apple', 'Banana', 'Cherry', sep='\n')
# Apple
# Banana
# Cherry
# 구분자 없음
print('2025', '02', '01', sep='')
# 20250201
# 하이픈으로 구분
print('2025', '02', '01', sep='-')
# 2025-02-01
print() 함수는 기본적으로 출력 후 자동으로 줄바꿈을 합니다. end 매개변수로 이를 변경할 수 있습니다.
print('첫 번째')
print('두 번째')
출력 결과:
첫 번째
두 번째
print('첫 번째', end='')
print('두 번째')
출력 결과:
첫 번째두 번째
print('첫 번째', end=' ')
print('두 번째')
출력 결과:
첫 번째 두 번째
# 로딩 애니메이션 효과
print('Loading', end='')
print('.', end='')
print('.', end='')
print('.')
출력 결과:
Loading...
# 한 줄에 여러 값 출력
for i in range(1, 6):
print(i, end=' ')
print() # 마지막 줄바꿈
출력 결과:
1 2 3 4 5
제어 문자는 백슬래시(\)로 시작하는 특수 문자로, 출력 형식을 제어합니다.
| 제어 문자 | 의미 | 예시 |
|---|---|---|
\n | 개행 (줄바꿈) | 'Hello\nWorld' |
\t | 탭 (Tab) | 'Hello\tWorld' |
\\ | 백슬래시 출력 | 'C:\\Users' |
\' | 작은따옴표 출력 | 'It\'s Python' |
\" | 큰따옴표 출력 | "He said \"Hi\"" |
\n은 개행(newline) 문자로, 값을 다음 줄에 출력하게 만듭니다.
print('Hello\nWorld')
출력 결과:
Hello
World
print('첫 번째 줄\n두 번째 줄\n세 번째 줄')
출력 결과:
첫 번째 줄
두 번째 줄
세 번째 줄
\t는 탭(Tab) 공백을 삽입합니다. 일반적으로 스페이스 4~8칸 정도의 간격입니다.
print('이름\t나이\t직업')
print('홍길동\t25\t개발자')
print('김철수\t30\t디자이너')
출력 결과:
이름 나이 직업
홍길동 25 개발자
김철수 30 디자이너
표 형태의 데이터를 정렬할 때 유용합니다.
백슬래시 자체를 출력하려면 \\를 사용합니다.
print('C:\\Users\\Documents')
출력 결과:
C:\Users\Documents
Windows 경로를 출력할 때 자주 사용합니다.
문자열 안에 작은따옴표를 넣으려면 \'를 사용합니다.
print('It\'s a beautiful day!')
출력 결과:
It's a beautiful day!
대안: 큰따옴표로 감싸면 이스케이프 불필요
print("It's a beautiful day!") # 더 간단
문자열 안에 큰따옴표를 넣으려면 \"를 사용합니다.
print("He said \"Hello!\"")
출력 결과:
He said "Hello!"
대안: 작은따옴표로 감싸면 이스케이프 불필요
print('He said "Hello!"') # 더 간단
# 여러 제어 문자 함께 사용
print('이름:\t홍길동\n나이:\t25\n직업:\t개발자')
출력 결과:
이름: 홍길동
나이: 25
직업: 개발자
# 경로와 따옴표 함께 사용
print('파일 경로: C:\\Users\\Documents\\\"my_file.txt\"')
출력 결과:
파일 경로: C:\Users\Documents\"my_file.txt"
제어 문자를 무시하고 문자 그대로 출력하고 싶다면 Raw String을 사용합니다. 문자열 앞에 r을 붙입니다.
# 일반 문자열
print('C:\new\test')
# C:
# ew est (잘못된 출력: \n과 \t가 제어 문자로 인식됨)
# Raw String
print(r'C:\new\test')
# C:\new\test (올바른 출력)
정규표현식이나 Windows 경로를 다룰 때 유용합니다.
name = '파이썬'
age = 33
print('언어: %s, 나이: %d' % (name, age))
# 언어: 파이썬, 나이: 33
name = '파이썬'
age = 33
print('언어: {}, 나이: {}'.format(name, age))
# 언어: 파이썬, 나이: 33
print('언어: {0}, 나이: {1}, 다시 언어: {0}'.format(name, age))
# 언어: 파이썬, 나이: 33, 다시 언어: 파이썬
name = '파이썬'
age = 33
print(f'언어: {name}, 나이: {age}')
# 언어: 파이썬, 나이: 33
# 표현식도 가능
print(f'10년 후: {age + 10}세')
# 10년 후: 43세
f-string은 가장 현대적이고 가독성 좋은 방법입니다.
item1 = '아메리카노'
price1 = 4500
item2 = '카페라떼'
price2 = 5000
print('=' * 30)
print(f'{"품목":<10}{"가격":>10}')
print('-' * 30)
print(f'{item1:<10}{price1:>10,}원')
print(f'{item2:<10}{price2:>10,}원')
print('-' * 30)
print(f'{"합계":<10}{price1 + price2:>10,}원')
print('=' * 30)
출력 결과:
==============================
품목 가격
------------------------------
아메리카노 4,500원
카페라떼 5,000원
------------------------------
합계 9,500원
==============================