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
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.