파이썬에서 %는 문자열 포매팅(서식 지정) 연산자, 즉 문자열 보간(interpolation) 연산자입니다. format % values 형태로 사용하며, 여기서 format은 문자열이고 이 안에 포함된 % 변환 사양(conversion specification)이 values의 요소들로 하나씩 치환됩니다. 그 효과는 C 언어의 sprintf() 함수와 매우 유사합니다.
1. 기본적인 문자열 포매팅
가장 단순한 예는 문자열 변수를 문장 속에 삽입하는 것입니다.
>>> lang = "Python"
>>> print("%s is awesome!" % lang)
Python is awesome!2. 숫자 서식 지정하기
% 연산자는 숫자의 표시 형식을 지정하는 데에도 활용할 수 있습니다. 아래 예제에서 %.2f는 부동소수점 수를 소수점 둘째 자리까지 반올림하여 출력하라는 의미입니다.
>>> cost = 128.527
>>> print("The book costs $%.2f at the bookstore" % cost)
The book costs $128.53 at the bookstore3. 딕셔너리를 활용한 문자열 보간
딕셔너리를 사용하면 값의 순서가 아니라 키(key)를 기준으로 문자열을 치환할 수 있습니다. 이때는 %와 변환 문자 사이의 괄호 안에 키 이름을 명시해야 합니다.
>>> print('%(language)s has %(number)03d quote types.' % {'language': "Python", 'number': 2})
Python has 002 quote types.위 예제에서 %(number)03d는 해당 키의 값을 세 자리 정수로 출력하되, 앞을 0으로 채우라는 뜻입니다.
참고: 더 현대적인 대안들
% 스타일 포매팅은 오래된 코드에서 여전히 널리 사용되지만, 파이썬 3에서는 가독성이 좋은 str.format() 메서드나 f-string(f"{lang} is awesome!")이 공식적으로 권장됩니다. 다만 레거시 코드를 읽거나 printf 스타일에 익숙한 개발자에게는 % 연산자의 동작 원리를 이해하는 것이 여전히 유용합니다.
문자열 포매팅과 관련 연산자에 대한 자세한 내용은 공식 문서에서 확인할 수 있습니다: 파이썬 공식 문서 - printf 스타일 문자열 포매팅