파이썬 3.6 이전 버전에는 문자열 포매팅을 하는 두가지 방법이 있다.
%s
.format()
%-formatting
방법의 단점을 보완하고자 만든 포매팅 방법이다. 그럼에도 불구하고 복잡한 문서에서 여전히 표현이 장황하다.두 가지 방법 모두 작성하고자 하는 문서의 구조가 복잡하거나 여러 개의 변수, 긴 문자열을 다루게 될 때 불편하다는 단점이 있다. 그래서 파이썬 3.6버전 부터 등장한 것이 f-strings 이다.
문법은 .format()
과 비슷하다.
Example
>> name = "Juri" >> age = 27 >> f"Hello, {name}. You are {age}." 'Hello, Juri. You are 27.'
- 문자열 앞에
f
를 붙이고 변수를{변수명}
의 형태로 작성한다.
f-strings 안에 function
, methond
등 유효한 파이썬의 모든 표현을 넣을 수 있다.
Example
>> name = "Juri Jang" >> f"{name.lower()} is angel." 'juri jang is angel.'
- 변수에
method
를 비롯한 모든 파이썬의 표현을 사용할 수 있다.
뿐만 아니라, class
에서 f-strings를 이용해 만든 객체를 사용할 수 있다.
여러 줄의 문자열을 작성할 때는 f
뒤에 """
(따옴표 3개)를 붙여준다.
f-strings는 이전에 사용한 두가지 방식보다 빠르다는 점에서 큰 장점을 갖는다.
'
와 "
모두 사용할 수 있으며 함께 사용하지 않는다. 함께 사용할 시엔 변수 이외에 사용된 따옴표에\
를 사용해 한 쪽을 escape해준다. 특히, 딕셔너리를 다룰 때 주의한다. (변수안의 따옴표를 '
로, 밖의 따옴표를 "
로 사용한다.) 중괄호도 마찬가지로 변수를 표시하는 데를 제외한 다른 중괄호는 두번 사용해 escape 해준다.