티스토리 뷰
print() 문에서 활용할 수 있는 다양한 출력 포맷에 대해 공부해보겠습니다.
우리가 문자열 포맷을 공부를 할 때 다음과 같이 format() 을 이용할 수 있었는데요.
print("{0}".format(500)) # {0} 위치에 500 값 출력
format() 내의 값들이 각각 중괄호 {0}, {1}, ... 위치에 들어가게 되는데 중괄호 부분을 수정하면 보다 다양한 형태로 출력이 가능합니다.
위 코드에서 {0} 부분을 {0: >10} 으로 바꾸게 되면 500 이란 값을 출력하는데 총 10칸의 공간을 확보한 상태에서 오른쪽으로 정렬을 하고 나머지 공간은 빈 칸으로 채우게 됩니다. 이 때 콜론(:) 뒷 부분에 오는 빈 칸, >, 10 의 역할이 각각 빈 칸으로 채우기( ), 오른쪽으로 정렬하기(>), 지정한 만큼의 공간을 확보하기(10) 가 되는 것이죠.
print("{0: >10}".format(500)) # 빈 자리는 비워두기, 우측 정렬, 10 칸의 공간 확보
5 | 0 | 0 |
일반적으로 양수는 + 기호 없이 표시하고 음수만 - 기호로 표시하는데, 주식에서는 양수일 때도 + 를 포함하여 표시하곤 합니다. 파이썬에서도 이렇게 할 수 있는데요. 앞 예제의 숫자 부분 앞에 + 만 추가해주면 됩니다.
print("{0: >+10}".format(500)) # 빈 자리는 비워두기, 우측 정렬, + 기호, 10 칸의 공간 확보
print("{0: >+10}".format(-500))
+ | 5 | 0 | 0 | ||||||
- | 5 | 0 | 0 |
확보된 전체 공간 중 빈 자리를 다른 값으로 채워볼까요?
print("{0:_<10}".format(500)) # 빈 자리는 _ 로, 좌측 정렬, 10 칸의 공간 확보
5 | 0 | 0 | _ | _ | _ | _ | _ | _ | _ |
지금까지 작성한 전체 코드 및 실행 결과는 이렇습니다.
print("{0}".format(500)) # {0} 위치에 500 값 출력
print("{0: >10}".format(500)) # 빈 자리는 비워두기, 우측 정렬, 10 칸의 공간 확보
print("{0: >+10}".format(500)) # 빈 자리는 비워두기, 우측 정렬, + 기호, 10 칸의 공간 확보
print("{0: >+10}".format(-500))
print("{0:_<10}".format(500)) # 빈 자리는 _ 로, 좌측 정렬, 10 칸의 공간 확보
500 500 +500 -500 500_______ |
이번에는 큰 수를 표시할 때 꼭 필요한 콤마(,)를 넣어보겠습니다. 보통 화폐 단위를 나타낼 때 1,000 단위로 콤마를 찍는데 파이썬에서도 간편하게 할 수 있습니다.
print("{0:,}".format(100000000000)) # 3자리 마다 콤마 찍어주기
print("{0:+,}".format(100000000000)) # + 기호, 3자리 마다 콤마 찍어주기
print("{0:+,}".format(-100000000000))
실행 결과는 이렇습니다.
100,000,000,000 +100,000,000,000 -100,000,000,000 |
조금 더 복잡한 예제를 만들자면 총 30칸의 공간을 확보하고 좌측 정렬로 + 기호를 포함한 큰 수를 찍는데 빈 자리는 ^ 로 채워보겠습니다.
# 빈 자리는 ^ 로, 좌측 정렬, + 기호, 30 칸의 공간 확보, 3자리 마다 콤마 찍어주기
print("{0:^<+30,}".format(100000000000))
실행 결과는 이렇게 나오는데요. 사실 이렇게까지 복잡하게 쓸 일이 많을 것 같지는 않습니다.
+100,000,000,000^^^^^^^^^^^^^^ |
마지막으로 소수점 출력을 해보겠습니다. 실수값을 출력할 때 round() 함수를 이용하면 반올림이 가능했었는데, 출력 포맷을 이용할 수도 있습니다. 예를 들어서 5 를 3 으로 나누면 1.66666666... 이 나올텐데 이를 실수형태로 먼저 출력해보겠습니다.
print("{0:f}".format(5/3)) # 실수 값 출력
1.666667 |
이제 이 값을 우리가 원하는 만큼의 소수점 자리까지만 출력해보겠습니다. f 가 실수형 자료(float) 를 의미하는데 점(.) 과 숫자(n)를 함께 적으면 소수점 n번째 자리까지 출력을 해줍니다. 셋째자리에서 반올림하여 둘째자리까지 출력하려면 .2f 라고 적으면 됩니다.
print("{0:.2f}".format(5/3)) # 소수점 둘째자리까지 출력
1.67 |
지금까지 공부한 출력 포맷은 다음과 같은 순서로 { } 내에 사용자가 필요한 부분만 명시하는 방식으로 포맷을 정의할 수 있습니다.
{인덱스:[[빈자리채우기]정렬][기호][확보공간][콤마][.자릿수][타입]} |
'파이썬 강의 > 기본편' 카테고리의 다른 글
[파이썬 기본편] 8-4.pickle (2) | 2021.03.03 |
---|---|
[파이썬 기본편] 8-3.파일입출력 (7) | 2021.03.02 |
[파이썬 기본편] 8-1.표준입출력 (1) | 2021.02.28 |
[파이썬 기본편] 7-7.퀴즈 #6 (10) | 2021.02.27 |
[파이썬 기본편] 7-6.지역변수와 전역변수 (0) | 2021.02.26 |
- Total
- Today
- Yesterday
- vscode
- Coding
- 행맨
- ChatGPT
- 나도코딩
- onlineclass
- 환경설정
- c언어
- Unity
- Tkinter
- coloso
- pygame
- Xcode
- repl.it
- 아나콘다
- Visual Studio Code
- 파이썬
- pycharm
- Mac
- 파이게임
- 비주얼 스튜디오 코드
- Colab
- 코랩
- GUI
- 챗GPT
- 주피터노트북
- game
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |