9.2 줄바꿈 활용하기
이번에는 줄바꿈(개행)을 활용해보겠습니다. 먼저 다음과 같이 print에 값을 여러 개 지정하면 한 줄에 모든 값이 출력됩니다.
>>> print(1, 2, 3) 1 2 3
그럼 print 한 번으로 값을 여러 줄에 출력할 수는 없을까요? 방법은 간단합니다. print의 sep에 개행 문자(\n)라는 특별한 문자를 지정하면 값을 여러 줄로 출력할 수 있습니다.
>>> print(1, 2, 3, sep='\n') 1 # ← 다음 줄로 이동 2 # 2는 새 줄에서 시작, \n은 다음 줄로 이동 3 # ← 새 줄에서 시작
\n은 값을 다음 줄에 출력하게 만드는 제어 문자입니다. 따라서 sep에 \n을 지정하면 1 2 3 사이에 \n이 들어가므로 1을 출력한 뒤 다음 줄에 2를 출력하고 다시 다음 줄에 3을 출력하게 됩니다. 단, \n 자체는 화면에 출력되지 않습니다.
1\n # ← 다음 줄로 이동 2\n # 2는 새 줄에서 시작, \n은 다음 줄로 이동 3 # ← 새 줄에서 시작
참고로 \n도 문자이므로 print에 바로 넣어서 사용할 수도 있습니다. 다음과 같이 문자열 안에 \n를 넣으면 1 2 3은 세 줄로 출력되겠죠? print(1, 2, 3, sep='\n')와 결과가 같습니다.
>>> print('1\n2\n3') # 문자열 안에 \n을 사용하여 줄바꿈 1 2 3
'1\n2\n3'과 같이 \n은 옆에 다른 문자나 숫자와 붙여서 씁니다. 만약 \n 양 옆에 공백을 넣어버리면 공백이 그대로 출력되므로 주의해야 합니다.
제어 문자는 화면에 출력되지는 않지만 출력 결과를 제어한다고 해서 제어 문자라 부릅니다. 또한, 제어 문자는 \로 시작하는 이스케이프 시퀀스입니다(부록 47.2 이스케이프 시퀀스' 참조).
- ₩n: 다음 줄로 이동하며 개행이라고도 부릅니다.
- ₩t: 탭 문자, 키보드의 Tab 키와 같으며 여러 칸을 띄웁니다.
- ₩₩: ₩ 문자 자체를 출력할 때는 ₩를 두 번 써야 합니다.
print는 기본적으로 출력하는 값 끝에 \n을 붙입니다. 그래서 print를 여러 번 사용하면 값이 여러 줄에 출력됩니다. 다음 내용을 IDLE의 소스 코드 편집 창에 입력한 뒤 실행해보세요.
print_multiple.py
print(1) print(2) print(3)
실행 결과
1 2 3
그러면 print를 여러 번 사용해서 print(1, 2, 3)처럼 한 줄에 여러 개의 값을 출력할 수는 없을까요? 이때는 print의 end에 빈 문자열을 지정해주면 됩니다.
- print(값, end='문자 또는 문자열')
- print(변수, end='문자 또는 문자열')
print_multiple_end.py
print(1,end='') # end에 빈 문자열을 지정하면 다음 번 출력이 바로 뒤에 오게 됨 print(2, end='') print(3)
실행 결과
123
end=''와 같이 end에 빈 문자열을 지정하면 1, 2, 3이 세 줄로 출력되지 않고 한 줄로 붙어서 출력됩니다. 원래는 기본적으로 print의 end에 \n이 지정된 상태인데 빈 문자열을 지정하면 강제로 \n을 지워주기 때문입니다.
즉, end는 현재 print가 끝난 뒤 그 다음에 오는 print 함수에 영향을 줍니다. 만약 1 2 3 사이를 띄워주고 싶다면 end에 공백 한 칸을 지정하면 됩니다.
print(1, end=' ') # end에 공백 한 칸 지정 print(2, end=' ') print(3)
실행 결과
1 2 3
이처럼 print의 sep, end에 제어 문자, 공백 문자 등을 조합하면 다양한 형태로 값을 출력할 수 있습니다. 자신의 상황에 맞게 선택해서 사용하면 됩니다.
지금까지 print의 다양한 사용 방법을 알아보았습니다. 여기서는 제어 문자 \n과 print에서 sep, end의 활용 방법을 익혀두는 것이 좋습니다.