Python 출력 함수 - print()
요약
Python의 print() 함수 사용법을 정리합니다. 여러 인자 출력과 sep 매개변수, end 매개변수로 줄바꿈 제어, f-string과 % 포맷팅, 포맷 지정자(:2d·:.2f·:<5·:>5)의 폭과 공백, 인접 문자열 자동 결합까지 정보처리기사 실기 기출에 나온 출력 패턴을 다룹니다.
print() 함수 핵심 정리
| 기능 | 설명 | 예시 |
|---|---|---|
| 기본 출력 | 값을 출력하고 끝에 자동 줄바꿈 | print("A") |
| 여러 인자 | 쉼표로 구분 → 사이에 공백 한 칸 삽입 | print("x", 1) → x 1 |
sep 매개변수 | 인자 사이 구분자 변경 | print("a", "b", sep=",") → a,b |
end 매개변수 | 끝에 붙일 문자 변경 | print("A", end="") |
빈 print() | 아무 값 없이 줄바꿈만 출력 | print() |
| f-string 결합 | 중괄호 안의 값이 치환 | print(f"값:{v}") |
| 인접 문자열 결합 | 리터럴1 두 개가 나란히 → 자동 연결 | print("A" "B") → AB |
| % 포맷팅 | 자리표시자에 값 대입 | print("%s" % "hi") |
print()의 기본 동작
Python에서 화면에 값을 출력할 때 사용하는 함수가 print()입니다. 큰따옴표든 작은따옴표든 상관없이 괄호 안에 넣은 값을 그대로 화면에 내보냅니다.
숫자나 변수도 그대로 출력할 수 있습니다.
자동 줄바꿈
print()는 출력 후 자동으로 줄바꿈을 추가합니다. print 여러 개를 연속으로 호출하면 각 출력이 새 줄에서 시작합니다.
이 자동 줄바꿈은 뒤에서 배울 end 매개변수로 제어할 수 있습니다.
여러 인자 출력과 sep 매개변수
쉼표로 값 나열
여러 값을 한 번에 출력할 때는 쉼표(,)로 나열합니다. 파이썬은 각 값 사이에 공백 한 칸을 자동으로 끼워 넣습니다.
문자열이든 숫자든 자료형이 달라도 섞어서 전달할 수 있습니다.
여기서 주목할 점은 'a='와 num1 사이에 원래 공백이 없었는데도 결과에는 a= 20처럼 공백이 한 칸 끼어 들어간다는 것입니다. 이는 print가 각 인자 사이에 자동으로 공백을 넣기 때문입니다.
sep 매개변수로 구분자 바꾸기
인자 사이에 들어가는 구분자는 sep 매개변수로 바꿀 수 있습니다. 기본값은 공백(" ") 한 칸입니다.
| 사용법 | 결과 |
|---|---|
print("A", "B", "C") | A B C (기본 공백) |
print("A", "B", "C", sep="") | ABC (구분 없음) |
print("A", "B", "C", sep=",") | A,B,C |
print("A", "B", "C", sep="-") | A-B-C |
end 매개변수와 빈 print()
end 매개변수
print()는 기본적으로 출력 후 줄바꿈 문자를 끝에 붙입니다. end 매개변수로 이 끝 문자를 다른 값으로 바꿀 수 있습니다.
| 사용법 | 줄바꿈 | 뒤에 오는 문자 |
|---|---|---|
print("A") | 있음 | (줄바꿈으로 다음 줄) |
print("A", end="") | 없음 | 바로 다음 출력이 이어짐 |
print("A", end=" ") | 없음 | 공백 한 칸 후 이어짐 |
print("A", end=",") | 없음 | 쉼표 후 이어짐 |
빈 print()로 줄바꿈만 출력
아무 인자 없이 print()만 호출하면 자동 줄바꿈 동작만 남아 빈 줄(줄바꿈 한 번)만 출력됩니다. 중첩 for문에서 안쪽 반복이 끝날 때 줄을 바꾸는 용도로 자주 쓰입니다.
안쪽 for문은 end="" 덕분에 숫자를 공백 없이 이어 붙여 한 줄을 만들고, 안쪽 for문이 끝난 뒤의 print()가 줄바꿈을 찍어 다음 반복이 새 줄에서 시작하게 합니다.
f-string으로 값 삽입하기
f-string은 문자열 앞에 f를 붙인 형태로, 중괄호 {} 안에 있는 표현식을 실행 시 그 값으로 치환합니다.
중괄호 안에는 변수뿐 아니라 계산식이나 함수 호출도 쓸 수 있습니다. 출력 직전에 먼저 계산한 결과가 들어갑니다.
인접 문자열 자동 결합
파이썬은 두 개의 문자열 리터럴이 공백으로만 나란히 있을 때 + 연산자 없이도 자동으로 하나의 문자열로 결합합니다. 일반 문자열끼리든, f-string끼리든, 혼합이든 모두 가능합니다.
f-string도 예외가 아닙니다. 기출에서는 이 규칙이 print 한 줄 안에서 등장하는 경우가 있습니다.
위 print 안에는 f-string 두 개가 공백으로 나란히 있습니다. 파이썬은 먼저 각 f-string을 계산한 뒤("ab3", "ca3") 두 결과를 이어 붙여 "ab3ca3"으로 출력합니다.
f-string 포맷 지정자 심화
f-string의 중괄호 안에서 변수 뒤에 콜론(:) 을 찍고 포맷 지정자를 쓰면 폭·소수점 자리·정렬을 세밀하게 조절할 수 있습니다. {값:포맷} 형태입니다.
출력 앞뒤의 대괄호 [ ]는 공백이 몇 칸 들어갔는지 눈으로 보이게 하려고 함께 찍은 표시입니다. 대괄호 안쪽이 포맷 지정자가 만든 결과입니다.
폭(width) 지정
정수와 문자열 모두 :{숫자} 형태로 최소 폭을 지정할 수 있습니다. 값이 폭보다 짧으면 남는 자리가 생기고, 폭보다 길면 그대로 출력됩니다.

소수점 자리 — :.Nf
.(점) 뒤의 숫자는 소수점 이하 자리수를 뜻합니다. 자리수에 맞춰 반올림됩니다.
:.2f 는 "소수점 둘째 자리까지 표시하는 실수"라는 뜻입니다. :8.2f처럼 폭과 자리수를 같이 쓸 수도 있습니다.
정렬 — :<, :>, :^
콜론 뒤에 정렬 기호를 쓰면 값을 왼쪽/오른쪽/가운데로 맞출 수 있습니다. 기호 뒤의 숫자는 값과 공백을 합친 최소 폭입니다. 예를 들어 A는 한 칸이므로 폭이 5라면 나머지 네 칸을 공백으로 채웁니다.
| 기호 | 의미 | 예시 (· = 공백 한 칸) |
|---|---|---|
< | 왼쪽 정렬 | f"{'A':<5}" → "A····" |
> | 오른쪽 정렬 | f"{'A':>5}" → "····A" |
^ | 가운데 정렬 | f"{'A':^5}" → "··A··" |
표의 ·는 출력되는 문자가 아니라 공백을 눈으로 구분하기 위한 표시입니다. 실제 출력에서는 아래 코드처럼 빈칸으로 나타납니다.

정수는 기본이 오른쪽 정렬이고, 문자열은 기본이 왼쪽 정렬입니다. 명시적으로 <·>·^를 써 주는 쪽이 시험에서 혼동을 줄입니다.
print 표 출력 결합
폭·정렬·소수점 지정자를 섞어서 표를 예쁘게 찍을 수 있습니다.
출력을 한 글자씩 칸에 나눠 넣으면 다음과 같습니다(· = 공백 한 칸). 화면 글꼴에서는 한글이 영문보다 넓게 그려져 위 출력의 줄이 어긋나 보이지만, Python은 한글도 한 글자를 한 칸으로 셉니다. 1 ~ 4칸은 이름(:<4), 5 ~ 9칸은 점수(:>5d), 10 ~ 16칸은 평점(:>7.2f) 구간이고, 모든 줄이 정확히 16칸입니다.
| 줄 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 이 | 름 | · | · | · | · | · | 점 | 수 | · | · | · | · | · | 평 | 점 |
| 2 | 감 | 자 | · | · | · | · | · | 9 | 0 | · | · | · | 3 | . | 1 | 5 |
| 3 | 당 | 근 | · | · | · | · | · | 8 | 5 | · | · | · | 2 | . | 7 | 0 |
| 4 | 양 | 파 | · | · | · | · | 1 | 0 | 0 | · | · | · | 4 | . | 0 | 0 |
첫 줄의 공백을 ·로 표시하면 이름·····점수·····평점입니다. 이름은 2글자이므로 {'이름':<4}의 폭 4에서 2칸이 남고, 점수도 2글자이므로 {'점수':>5}의 폭 5에서 3칸이 남습니다. 이름 뒤의 2칸과 점수 앞의 3칸이 이어져 두 값 사이에는 총 5칸이 들어갑니다.
| 자리 | 포맷 | 의미 |
|---|---|---|
| 이름 | :<4 | 왼쪽 정렬, 폭 4 |
| 점수 | :>5d | 오른쪽 정렬 정수, 폭 5 |
| 평점 | :>7.2f | 오른쪽 정렬 실수, 폭 7, 소수점 이하 2자리 |
% 포맷팅
% 포맷팅은 문자열 안에 자리표시자(%s, %d, %f)를 두고 % 연산자 오른쪽 값으로 채우는 옛 방식의 문법입니다. C언어의 printf 서식 지정자와 같은 스타일입니다.
| 자리표시자 | 의미 | 받는 값 |
|---|---|---|
%s | string | 문자열 |
%d | digit | 정수 |
%f | float | 실수 |
값이 여러 개일 때는 튜플로 묶어서 전달합니다.
% 포맷팅과 문자열 연결
% 포맷팅은 결과적으로 새 문자열을 만들기 때문에, print와 결합할 때 문자열 연결(+)과 함께 사용되는 경우가 있습니다.
![a 문자열 17칸에서 a[:3]의 REM과 a[12:16]의 EMBE를 잘라 b를 만들고, R AND %s의 %s 자리에 STR을 채워 c를 만든 뒤, b + c로 이어 붙여 REMEMBER AND STR이 출력되는 과정](/_next/image?url=%2Fcoding%2Fpython%2Foutput-functions%2Fpercent-format-concat.webp&w=3840&q=75&dpl=dpl_E8Fpk4vZ8Su5MuNchuBj2koAMXpV)
b + c에서 c의 첫 글자 R이 b의 끝 REMEMBE에 붙으면서 REMEMBER가 자연스럽게 완성됩니다.
정보처리기사 실기 기출 문제
Footnotes
-
리터럴(literal): 코드에 값을 직접 적은 것입니다.
"abc",'b'처럼 따옴표로 적은 문자열이 문자열 리터럴이고, 그 값을 담아 둔 변수s는 리터럴이 아닙니다. ↩