Python F-String
2024년 5월 29일 수정
≡ 목차 (Table of Contents)
이 글은 더이상 관리되지 않으며 ⏍https://seorenn.github.io/article/python-f-string.html 주소로 통합 관리될 예정입니다.
F-String
기본
기능 이름 답게 문자열 제일 앞에 f
를 붙이면 F-String이 된다. 그리고 문자열 내용에 중괄호({...}
)로 대체할 내용을 넣을 수 있다.
>>> name = "Conrad" >>> print(f"My name is {name}") My name is Conrad
런타임 표현
중괄호 내부에는 런타임에서 동적으로 작동하는 코드를 넣어도 원하는대로 동작한다.
>>> f"1 + 2 = {1+2}" '1 + 2 = 3'
함수 호출
런타임도 되니 당연히 함수 호출을 명시하는 것도 가능하다.
>>> def makeDouble(v): ... return v * 2 ... >>> f"This is doubler! If you enter 10, it returns {makeDouble(10)}" 'This is doubler! If you enter 10, it returns 20'
C 식 포맷 스타일링
C 언어의 printf
류의 함수에서 많이 쓰이는 포맷 지시 문자도 비슷하게 쓸 수 있다. 예를 들어 %04d
는 F-String에서는 #04d
로 쓸 수 있다.
>>> value = 12 >>> f"the value is {value:#04d}" 'the value is 0012'
%
가 아니라 #
이 쓰인다는 점에 주의하자.
디버깅에 유리한 표현 방식
주의사항
F-String의 치환 문법 내부에는 백슬래시(\)를 사용할 수 없다.
>>> "the \"back-slash\" string" 'the "back-slash" string' >>> f'the \'back-slash\' string' "the 'back-slash' string" >>> f'the {\'back-slash\'} string' File "<stdin>", line 1 SyntaxError: f-string expression part cannot include a backslash
필요하다면 별도의 문자열로 뽑은(?) 다음 이를 활용할 수 있다.
>>> bsstr = "'back-slash'" >>> f"the {bsstr} string" "the 'back-slash' string"
기타
이 글은 ⏍내 소유 블로그 동일 내용의 글을 축약해서 정리한 글이다.