티스토리 뷰

Development/Python

[Python] f-strings

juniz 2022. 7. 3. 09:36
반응형

String formatting의 방법 중 하나인 f-strings는 python 3.6부터 사용할 수 있는 기능입니다. 

혹시 아직도 % 혹은 format을 사용하고 있으시면 f-strings로 바꿔보시는 걸 추천드립니다. 

 

기본 사용법

>>> test_str = 'hello'

>>> print(f'Test string is {test_str}')
Test string is hello
>>> print(f'{test_str=}')
test_str='hello'

# Print repr
>>> print(f'{test_str}') 
'hello'

# Print Ascii
>>> smile_face = '😀'
>>> print(f'{smile_face}')
'\U0001f600'
>>> test_int = 123
>>> print(f'{test_int %2 =}')
test_int % 2= 1

조금 더 이쁘게 format 변경

# alignment
>>> print(f'{x:1>10}')
1111111110
>>> print(f'{x:1^10}')
1111011111
>>> print(f'{x:1<10}')
0111111111


# number
>>> num_value = 123.456
>>> print(f'{num_value:.2f}')
123.46

>>> print(f'{num_value:.4f}')
123.4560


# Datetime
>>> from datetime import datetime
>>> today = datetime.utcnow()
>>> print(f'{today:=%Y-%m-%d}')
today=2022-07-03

 

속도도 f-string > % > str.format() 순서이기에 f-string을 사용하는 것을 추천드립니다.

%의 경우 BINARY_MODULO에서 오버헤드 발생으로 인해 속도 저하가 있으며,

str.format()의 경우 LOAD_ATTR, CALL_FUNCTION을 사용하여 전역 변수 검색 및 formatting을 진행하여 속도가 느립니다. 

 

그 외에 조금 더 자세히 살펴보고 싶으신 분들은 PEP498 링크로 들어가서 보시면 됩니다. 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/02   »
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
글 보관함
반응형