출력 방법 알아보기

Tasker_Jang·2026년 2월 1일

들어가며

지금까지 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() 함수는 자동으로 모든 자료형을 문자열로 변환하여 출력합니다.

print()의 sep 매개변수

기본적으로 값들은 공백으로 구분되지만, 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() 함수는 기본적으로 출력 후 자동으로 줄바꿈을 합니다. end 매개변수로 이를 변경할 수 있습니다.

기본 동작 (자동 줄바꿈)

print('첫 번째')
print('두 번째')

출력 결과:

첫 번째
두 번째

end 매개변수로 줄바꿈 제거

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 

제어 문자 (Escape Sequence)

제어 문자는 백슬래시(\)로 시작하는 특수 문자로, 출력 형식을 제어합니다.

주요 제어 문자

제어 문자의미예시
\n개행 (줄바꿈)'Hello\nWorld'
\t탭 (Tab)'Hello\tWorld'
\\백슬래시 출력'C:\\Users'
\'작은따옴표 출력'It\'s Python'
\"큰따옴표 출력"He said \"Hi\""

1. \n: 개행 문자 (줄바꿈)

\n개행(newline) 문자로, 값을 다음 줄에 출력하게 만듭니다.

print('Hello\nWorld')

출력 결과:

Hello
World
print('첫 번째 줄\n두 번째 줄\n세 번째 줄')

출력 결과:

첫 번째 줄
두 번째 줄
세 번째 줄

2. \t: 탭 문자

\t탭(Tab) 공백을 삽입합니다. 일반적으로 스페이스 4~8칸 정도의 간격입니다.

print('이름\t나이\t직업')
print('홍길동\t25\t개발자')
print('김철수\t30\t디자이너')

출력 결과:

이름    나이    직업
홍길동  25      개발자
김철수  30      디자이너

표 형태의 데이터를 정렬할 때 유용합니다.

3. \: 백슬래시 출력

백슬래시 자체를 출력하려면 \\를 사용합니다.

print('C:\\Users\\Documents')

출력 결과:

C:\Users\Documents

Windows 경로를 출력할 때 자주 사용합니다.

4. \': 작은따옴표 출력

문자열 안에 작은따옴표를 넣으려면 \'를 사용합니다.

print('It\'s a beautiful day!')

출력 결과:

It's a beautiful day!

대안: 큰따옴표로 감싸면 이스케이프 불필요

print("It's a beautiful day!")  # 더 간단

5. \": 큰따옴표 출력

문자열 안에 큰따옴표를 넣으려면 \"를 사용합니다.

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 (원시 문자열)

제어 문자를 무시하고 문자 그대로 출력하고 싶다면 Raw String을 사용합니다. 문자열 앞에 r을 붙입니다.

# 일반 문자열
print('C:\new\test')
# C:
# ew      est  (잘못된 출력: \n과 \t가 제어 문자로 인식됨)

# Raw String
print(r'C:\new\test')
# C:\new\test  (올바른 출력)

정규표현식이나 Windows 경로를 다룰 때 유용합니다.

포맷팅된 출력

1. % 서식 지정자 (구식)

name = '파이썬'
age = 33

print('언어: %s, 나이: %d' % (name, age))
# 언어: 파이썬, 나이: 33

2. str.format() 메서드

name = '파이썬'
age = 33

print('언어: {}, 나이: {}'.format(name, age))
# 언어: 파이썬, 나이: 33

print('언어: {0}, 나이: {1}, 다시 언어: {0}'.format(name, age))
# 언어: 파이썬, 나이: 33, 다시 언어: 파이썬

3. f-string (권장, Python 3.6+)

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원
==============================
profile
ML Engineer 🧠 | AI 모델 개발과 최적화 경험을 기록하며 성장하는 개발자 🚀 The light that burns twice as bright burns half as long ✨

0개의 댓글