f-문자열을 사용하면 위치 지정자 중괄호 안에 완전한 파이썬 식을 넣을 수 있다. 따라서 값을 약간 변경하고 싶을 때도 간결한 구문으로 표기할 수 있으므로, 앞에서 설명한 두 번째 문제점을 해결한다. C 스타일 형식화나 str.format 메서드를 사용하면 여러 줄이 필요한 형식화를 이제는 한 줄로 해결할 수 있다.
for i, (item, count) in enumerate(pantry): old_style = '#%d: %-10s = %d' % ( i + 1, item.title(), round(count)) new_style = '#{}: {:<10s} = {}'.format( i + 1, item.title(), round(count)) f_string = f'#{i+1}: {item.title():<10s} = {round(count)}' assert old_style == new_style == f_string
의미가 더 명확해진다면 연속된 문자열을 서로 연결해주는 기능(C 언어 문자열의 기능과 비슷함)을 사용해 f-문자열을 여러 줄로 나눌 수도 있다. 이렇게 작성한 코드는 한 줄짜리 코드보다 길지만, 다른 접근 방식으로 표현한 여러 줄짜리 코드보다 훨씬 더 깔끔하다.
for i, (item, count) in enumerate(pantry): print(f'#{i+1}: ' f'{item.title():<10s} = ' f'{round(count)}') >>> #1: 아보카도 = 1 #2: 바나나 = 2 #3: 체리 = 15