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

파이썬 문자열 포맷 연산자(%) 사용법과 변환 기호 총정리

파이썬의 가장 유용한 기능 중 하나는 바로 문자열 형식 지정 연산자인 %입니다. 이 연산자는 문자열에만 적용되며, C 언어의 printf() 계열 함수가 제공하던 서식화 기능을 그대로 구현해 줍니다. 간단한 예제를 통해 살펴보겠습니다.

기본 사용 예제

#!/usr/bin/python
print "My name is %s and weight is %d kg!" % ('Zara', 21)

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

My name is Zara and weight is 21 kg!

문자열 안의 %s는 문자열 값을, %d는 정수 값을 받아 해당 위치에 치환합니다. 참고로 파이썬 3에서는 print를 함수 형태로 호출해야 하므로 print("My name is %s and weight is %d kg!" % ('Zara', 21))처럼 작성합니다.

%와 함께 사용하는 변환 기호

% 연산자와 함께 사용할 수 있는 전체 변환 기호 목록은 다음과 같습니다.

번호형식 기호 및 변환
1%c
문자(character)
2%s
서식 지정 전에 str()을 통해 문자열로 변환
3%i
부호 있는 10진 정수
4%d
부호 있는 10진 정수
5%u
부호 없는 10진 정수
6%o
8진수 정수
7%x
16진수 정수(소문자)
8%X
16진수 정수(대문자)
9%e
지수 표기법(소문자 'e' 사용)
10%E
지수 표기법(대문자 'E' 사용)
11%f
부동 소수점 실수
12%g
%f와 %e 중 더 짧은 표현
13%G
%f와 %E 중 더 짧은 표현

부가 기호 및 추가 기능

그 외에 지원되는 기호와 기능은 아래 표와 같습니다.

번호기호 및 기능
1*
인자(argument)가 폭 또는 정밀도를 지정
2-
왼쪽 정렬
3+
부호 표시
4<sp>(공백)
양수 앞에 공백 한 칸 남김
5#
'x' 또는 'X' 사용 여부에 따라 8진수 접두사 '0' 또는 16진수 접두사 '0x', '0X' 추가
60
공백 대신 왼쪽을 0으로 채움
7%
'%%'는 리터럴 '%' 문자 하나를 출력
8(var)
매핑 변수(딕셔너리 인자)
9m.n.
m은 최소 전체 폭, n은 소수점 이하 표시 자릿수(해당하는 경우)

참고: 최신 파이썬의 문자열 포매팅

% 연산자는 여전히 사용할 수 있지만, 파이썬 3에서는 가독성이 뛰어난 f-string(예: f"My name is {name}")이나 str.format() 메서드가 공식적으로 권장됩니다. 다만 레거시 코드를 유지보수하거나 printf 스타일에 익숙한 개발자에게는 % 포매팅이 여전히 실용적인 선택지가 됩니다.