앞 절에서 살펴본 format 함수의 형식 지정자 안에서 콜론 뒤에 사용할 수 있는 내장 미니 언어를 f-문자열에도 사용할 수 있다. 값을 유니코드나 repr 문자열로 변환하는 기능 역시 사용할 수 있다.
formatted = f'{key!r:<10} = {value:.2f}' print(formatted) >>> 'my_var' = 1.23
f-문자열을 사용한 형식화는 C 스타일 형식화 문자열에 % 연산자를 사용하는 경우나 str.format 메서드를 사용하는 경우보다 항상 더 짧다. 다음 예제에서는 모든 옵션을 짧은 순서로 나타냈으며, 길이를 비교하기 쉽게 대입 연산자의 오른쪽에 줄을 맞춰 표시했다.
f_string = f'{key:<10} = {value:.2f}' c_tuple = '%-10s = %.2f' % (key, value) str_args = '{:<10} = {:.2f}'.format(key, value) str_kw = '{key:<10} = {value:.2f}'.format(key=key,value=value) c_dict = '%(key)-10s = %(value).2f' % {'key': key, 'value': value} assert c_tuple == c_dict == f_string assert str_args == str_kw == f_string