파이썬에서는 여러가지 formatting 방법이 있다.
- % formatting: 오래된 스타일의 formatting 방법
- String formatting: 새로운 스타일의 formatting 방법
- f-string: Python 3.6 이상에서 사용할 수 있는 새로운 스타일의 formatting 방법
그냥 f-string을 쓰자.
예시
temperature = 202
measure = 'Fahrenheit'
print('Water boils at %d degrees %s' % (temperature, measure)) # % formatting
print('Water boils at {} degrees {}'.format(temperature, measure)) # String formatting
print(f'Water boils at {temperature} degrees {measure}') # f-string
Padding, Align
string = 'test'
print('%10s' % (string))
print('{:>10}'.format(string))
print(f'{string:>10}')
결과
test
test
test
오른쪽에 문자열을 몰아쓴 후, 나머지 공백을 왼쪽에 놓는다. >를 사용한다.
string = 'test'
print('%-10s' % (string))
print('{:10}'.format(string))
print(f'{string:10}')
결과
test
test
test
왼쪽에 문자열을 몰아쓴 후, 나머지 공백을 오른쪽에 놓는다.
string = 'test'
print('{:*>10}'.format('test'))
print(f'{string:*>10}')
print('{:*<10}'.format('test'))
print(f'{string:*<10}')
결과
******test
******test
test******
test******
특정 문자로 채우는 방법이다. * 대신 다른 문자를 사용할 수 있다.
string = 'test'
print('{:^10}'.format('test'))
print(f'{string:^10}')
print('{:*^10}'.format('test'))
print(f'{string:*^10}')
결과
test
test
***test***
***test***
가운데 정렬을 할 때에는 ^를 사용한다.
문자열 자르기
string = 'xylophone'
print('%-.5s' % (string))
print('{:.5}'.format(string))
print(f'{string:.5}')
결과
xylop
xylop
xylop
.n을 사용한다. n은 자르고 싶은 문자의 개수이다.
숫자 출력
number = 3.141592653589793
print('%f' % (number))
print('{:f}'.format(number))
print(f'{number:f}'.format(number))
print(f'{number}')
결과
3.141593
3.141593
3.141593
3.141592653589793
소수를 출력하는 방법이다. f를 이어 쓰면 된다. 기본적으로 소수점 여섯째자리까지 표현한다.
number = 3.141592653589793
print('%.2f' % (number))
print('{:.2f}'.format(number))
print(f'{number:.2f}')
결과
3.14
3.14
3.14
.nf를 입력하면 된다. n은 원하는 소수점 아래자리 수이다.
number = 3.141592653589793
print('%08.2f' % (number))
print('{:08.2f}'.format(number))
print(f'{number:08.2f}')
결과
00003.14
00003.14
00003.14
08.2f는 8개의 문자를 출력하는데, 소수점 아래 두번째 자리까지 출력하고 나머지는 0으로 채운다는 뜻이다.
number = 12
print('%04d' % (number))
print('{:04d}'.format(number))
print(f'{number:04d}')
결과
0012
0012
0012
정수를 출력할 때에도 마찬가지이다. d는 생략해도 된다.
나머지는 필요할 때 업로드하겠다.
Reference: String Formatting
'CS > Python' 카테고리의 다른 글
[파이썬] 'is' 와 '==' (0) | 2021.08.18 |
---|---|
[파이썬] 이중 리스트 초기화 방법 (0) | 2021.08.18 |
[파이썬] 값에 의한 호출, 참조에 의한 호출(call by value, call by reference) (0) | 2021.07.26 |
파이썬 if __name__ == "__main__" (0) | 2021.07.02 |
파이썬의 List, Tuple, Dictionary, Set (0) | 2021.06.25 |