본문으로 건너뛰기

format() 함수 유의사항 - indexError

format() 함수 유의사항 - indexError

format() 함수를 사용할 때, 문자열 내의 중괄호 {}의 개수와 format() 함수에 전달된 매개변수의 수가 일치하지 않으면 indexError 예외가 발생합니다.

indexError는 format() 함수에 전달된 매개변수보다 많은 중괄호가 문자열 내에 있을 때 발생합니다. 즉 format() 함수가 중괄호에 매핑할 값을 찾지 못했을 때 에러가 발생합니다.

indexError 예시
greeting = "안녕하세요, {0}님! 오늘은 {1}일 입니다. {2}"

try:
formatted_greeting = greeting.format("코드프렌즈", "화요일")
print(formatted_greeting)

except IndexError as e:
print(f"오류 발생: {e}")

indexError 해결 방법

indexError를 방지하기 위해 문자열 내의 중괄호 개수와 format() 함수에 전달되는 매개변수의 수를 일치시켜야 합니다. 에러가 발생한 경우 중괄호를 제거하거나 매개변수를 추가로 제공해야 합니다.

# 수정된 예시
greeting = "안녕하세요, {0}님! 오늘은 {1}일 입니다."
formatted_greeting = greeting.format("코드프렌즈", "화요일")

print(formatted_greeting) # "안녕하세요, 김철수님! 오늘은 화요일 입니다."