[Python] format 활용하여 다양한 형식으로 출력하기

[Python] format 활용하여 다양한 형식으로 출력하기

#practice 0202
===RESULT===

__Centered___ Left-aligned_ Right-aligned
______1______ 1____________ ____________1
_____12______ 12___________ ___________12
_____123_____ 123__________ __________123
____1234_____ 1234_________ _________1234

#practice 0203
===RESULT===

__Centered___ Left-aligned_ Right-aligned
_____1.1_____ 1.1__________ __________1.1
____2.12_____ 2.12_________ _________2.12
____3.123____ 3.123________ ________3.123
___4.1234____ 4.1234_______ _______4.1234

#practice 0204
===RESULT===

  Centered    Left-aligned  Right-aligned
     1.1      1.1                     1.1
    2.12      2.12                   2.12
    3.123     3.123                 3.123
   4.1234     4.1234               4.1234


===SRC===
#Practice 0202 : format

print('{0:_^13s} {1:_<13s} {2:_>13}'.format('Centered','Left-aligned','Right-aligned'))
print("{0:_^13d} {1:_<13d} {2:_>13d}".format(1,1,1))
print('''{0:_^13} {1:_<13} {2:_>13}'''.format(12,12,12))
print("""{0:_^13} {1:_<13} {2:_>13}""".format(123,123,123))
print('{0:_^13} {1:_<13} {2:_>13}'.format(1234,1234,1234))



#Practice 0203 : format

print('{0:_^13s} {1:_<13s} {2:_>13}'.format('Centered','Left-aligned','Right-aligned'))
print("{0:_^13.1f} {1:_<13.1f} {2:_>13.1f}".format(1.1,1.1,1.1))
print('''{0:_^13.2f} {1:_<13.2f} {2:_>13.2f}'''.format(2.12,2.12,2.12))
print("""{0:_^13.3f} {1:_<13.3f} {2:_>13.3f}""".format(3.123,3.123,3.123))
print('{0:_^13.4f} {1:_<13.4f} {2:_>13.4f}'.format(4.1234,4.1234,4.1234))


#Practice 0204 : format

print('{0: ^13s} {1: <13s} {2: >13}'.format('Centered','Left-aligned','Right-aligned'))
print("{0: ^13.1f} {1: <13.1f} {2: >13.1f}".format(1.1,1.1,1.1))
print('''{0: ^13.2f} {1: <13.2f} {2: >13.2f}'''.format(2.12,2.12,2.12))
print("""{0: ^13.3f} {1: <13.3f} {2: >13.3f}""".format(3.123,3.123,3.123))
print('{0: ^13.4f} {1: <13.4f} {2:>13.4f}'.format(4.1234,4.1234,4.1234))

===MANUAL===
print("""{0:_^13.3f} {1:_<13.3f} {2:_>13.3f}""".format(3.123,3.123,3.123))
여기서 {0:_^13.3f} {1:_<13.3f} {2:_>13.3f} 이 부분에서는 { } 에는 숫자로 값의 자리가 지정되어 있고, 이후 형식 정하는 내용이 들어가 있다.
^는 지정된 칸(여백) 의 가운데를 뜻한다. 한편 < 는 왼쪽으로 정렬을 , >는 오른쪽으로 정렬을 의미한다. '^' 이후에 나타나는 13은 13칸의 여백을 만든다는 것이고, '^' 이전의 '_' 는 내용을 제외한 남는 부분을 채우고자 하는 문자를 의미한다. '_' 대신 '*' 이 들어간다면 *****3.123**** 이런 출력이 나타날 것이다.
.format 부분에는 차례대로 들어가야 할 값이 들어가 있다. 이 사례에서는 3.123이 13칸  짜리 공간의 가운데 부분에 자리잡고 나머지는 '_' 로 채워지는 출력이 나타나게 된다.

-> 따라서 출력 결과는
{0:_^13.2f} : ____3.123____ #중앙으로 값이 붙게 된다.
{0:_<13.2f} : 3.123________ #왼쪽으로 값이 붙게 된다.
{0:_>13.2f} : ________3.123 #오른쪽으로 값이 붙게 된다.

결과적으로 아래와 같은 형태가 될 것이다.
____3.123____ 3.123________ ________3.123

댓글