[python] f-string(:>, :<, :^, :*>, :*<, :*^)

woojjn·2022년 1월 17일
0

python 기초

목록 보기
6/10

1. old-school formatting

put_int = 256
put_float = 3.14
put_log = 0.0000000000000000000000138
put_string = "안녕"

1.1 %-string

print("정수 : %i, 실수 : %f, log_scale : %e, 문자열 : %s" % (put_int, put_float, put_log, put_string))
>>> 정수 : 256, 실수 : 3.140000, log_scale : 1.380000e-23,  문자열 : 안녕

print("정수 : %20i" % put_int) # 20자리를 비운 후 오른쪽 정렬
>>> 정수 :                  256

print("실수 : %20.2f" % put_float) # 20자리를 비운 후 소수점 2째 자리까지 오른쪽 정렬
>>> 실수 :                 3.14

print("log_scale : %20.2e" % put_log) # e-notation
>>> log_scale :             1.38e-23

print("문자열 : %20s" % put_string) # 20자리를 비운 후 오른쪽 정렬
>>> 문자열 :                   안녕

1.2 str.format() 함수

print("정수 : {}, 실수 : {}, log_scale : {}, 문자열 : {}".format(put_int, put_float, put_log, put_string))
>>> 정수 : 256, 실수 : 3.140000, log_scale : 1.380000e-23, 문자열 : 안녕

print("정수 : {1}, 실수 : {0}".format(put_float, put_int)) # 순서 지정 가능
>>> 정수 : 256, 실수 : 3.140000

print("정수 : {:20}".format(put_int)) # 20자리를 비운 후 오른쪽 정렬
>>> 정수 :                  256

print("정수 : {:<20}".format(put_int)) # 20자리를 비운 후 왼쪽 정렬
>>> 정수 : 256                 

print("정수 : {:*<20}".format(put_int)) # 왼쪽 정렬 후 나머지 자리를 *로 채움
>>> 정수 : 256*****************

print("정수 : {:ㅑ>20}".format(put_int)) # 오른쪽 정렬 후 나머지 자리를 ㅑ로 채움
>>> 정수 : ㅑㅑㅑㅑㅑㅑㅑㅑㅑㅑㅑㅑㅑㅑㅑㅑㅑ256

print("정수 : {:-^20}".format(put_int)) # 가운데 정렬 후 나머지 자리를 -로 채움
>>> 정수 : --------256---------

print("실수 : {:20.2}".format(put_float)) # 20자리를 비운 후 숫자 2 개 오른쪽 정렬
>>> 실수 :                  3.1

print("실수 : {:20.2f}".format(put_float)) # 20자리를 비운 후 소수점 2째 자리까지 오른쪽 정렬
>>> 실수 :                 3.14

print("문자열 : {:20s}".format(put_string)) # 20자리를 비운 후 왼쪽 정렬
>>> 문자열 : 안녕                  

2. f-string

print(f"정수 : {put_int}, 실수 : {put_float}, log_scale : {put_log}, 문자열 : {put_string}")
>>> 정수 : 256, 실수 : 3.14, log_scale : 1.38e-23, 문자열 : 안녕

print(f"정수 : {put_int:20}") # 20자리를 비운 후 오른쪽 정렬
>>> 정수 :                  256

3. 정리

str.format() 함수와 f-string은 다음과 같은 양식을 추가적으로 제공한다.

:> : 오른쪽 정렬
:< : 왼쪽 정렬
:^ : 가운데 정렬
:*> : 오른쪽 정렬 후 *로 채움
:*< : 왼쪽 정렬 후 *로 채움
:*^ : 가운데 정렬 후 *로 채움

기타

  • 버전에 따라 str.format() 함수의 문자열 정렬 default가 오른쪽 정렬일 때도 있음

0개의 댓글