Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 format() 함수 완벽 정리: 문자열 포매팅의 모든 것

파이썬의 format() 메서드는 지정된 값을 특정 형식으로 변환하여 문자열 내부의 자리표시자(placeholder)에 삽입하는 기능을 합니다. 자리표시자는 중괄호 {}로 표현되며, 이를 활용하면 문자열과 변수를 깔끔하게 결합할 수 있습니다.

이 글에서는 format() 함수를 다양한 방식으로 활용하는 방법을 예제와 함께 살펴보겠습니다.

1. 단일 format() 사용하기

가장 기본적인 사용 방법입니다. 주어진 범위의 숫자들을 하나의 자리표시자에 순차적으로 대입해 보겠습니다.

예제

for i in range(19,25):
    print("There are {} boxes!".format(i))

실행 결과

There are 19 boxes!
There are 20 boxes!
There are 21 boxes!
There are 22 boxes!
There are 23 boxes!
There are 24 boxes!

2. 다중 format() 사용하기

format() 함수는 여러 개의 인자를 받아 여러 개의 자리표시자에 동시에 값을 채워 넣을 수도 있습니다. 아래 예제에서는 두 개의 자리표시자에 순번과 월 이름을 각각 대입합니다.

예제

i=1
months={'Jan','Feb','Mar'}
for m in months:
    print("Month no {} is {}".format(i,m))
    i=i+1

실행 결과

Month no 1 is Jan
Month no 2 is Mar
Month no 3 is Feb

참고: 위 예제에서 months는 집합(set)이므로 요소의 출력 순서가 실행 시점마다 달라질 수 있습니다. 순서가 중요하다면 리스트(list)를 사용하는 것이 좋습니다.

3. 위치 인덱스 활용하기

자리표시자 안에 인덱스 번호를 지정하면, 전달된 인자 중 원하는 값을 특정 위치에 배치할 수 있습니다. 인자의 순서를 자유롭게 재배열하거나 같은 값을 반복해서 사용할 때 유용합니다.

예제

print("This week I'm working on {1},{2} and {4}".format('Mon','Tue','Wed','Thu','Fri'))

실행 결과

This week I'm working on Tue,Wed and Fri

인자는 0부터 시작하는 인덱스로 참조됩니다. 위 예제에서 {1}, {2}, {4}는 각각 두 번째(Tue), 세 번째(Wed), 다섯 번째(Fri) 인자에 해당합니다.

4. 키워드 인수 활용하기

인덱스 대신 키워드(이름)를 지정하여 자리표시자를 채울 수도 있습니다. 값의 의미를 명확히 드러낼 수 있어 코드 가독성이 크게 향상됩니다.

예제

print("The 3{r}, 4{t} and 5{t} ranks are winners".format(r='rd',t='th'))

실행 결과

The 3rd, 4th and 5th ranks are winners

위 예제처럼 하나의 키워드(t)를 여러 자리표시자에 반복 사용할 수 있다는 점도 눈여겨볼 만합니다.

마무리

format() 함수는 단순 문자열 결합보다 훨씬 유연하고 강력한 문자열 포매팅 방법을 제공합니다. 자리표시자의 개수에 맞춰 인자를 전달하는 기본 방식부터, 위치 인덱스와 키워드 인수를 활용한 고급 기법까지 상황에 맞게 선택하여 사용하면 됩니다. 참고로 파이썬 3.6부터는 f-string(f"...{변수}...")이라는 더 간결한 문법도 제공되므로, 함께 익혀두면 문자열 처리 실력을 한층 높일 수 있습니다.