위치 지정자 중괄호에 위치 인덱스, 즉 format 메서드에 전달된 인자의 순서를 표현하는 위치 인덱스를 전달할 수도 있다. 이렇게 하면 format에 넘기는 인자의 순서를 바꾸지 않아도 형식화 문자열을 사용해 형식화한 값의 출력 순서를 변경할 수 있다. 따라서 이 방식을 사용하면 앞에서 설명한 C 스타일 형식 문자열의 첫 번째 문제점을 해결할 수 있다.
formatted = '{1} = {0}'.format(key, value) print(formatted) >>> 1.234 = my_var
형식화 문자열 안에서 같은 위치 인덱스를 여러 번 사용할 수도 있다. 이렇게 하면 format에 넘기는 인자에 값을 여러 번 반복할 필요가 없다. 이로 인해 앞에서 설명한 C 스타일 형식 문자열의 세 번째 문제점도 해결된다.
formatted = '{0}는 음식을 좋아해. {0}가 요리하는 모습을 봐요.'.format(name) print(formatted) >>> 철수는 음식을 좋아해. 철수가 요리하는 모습을 봐요.