💻 프로그래밍/Python

[파이썬] % 연산자 (%d, %f, %s)

gameuiux 2024. 5. 25. 22:18
728x90
반응형

% 연산자

파이썬에서 % 연산자를 사용한 문자열 포매팅 방식은 여러 가지 포맷 코드를 지원한다.

각 포맷 코드는 다른 종류의 데이터를 형식화하는 데 사용된다.

 

 

 

주요 포맷 코드

%d: 정수(integer)
%i: 정수(integer) (기능상 %d와 동일)
%f: 부동 소수점 실수(float)
%s: 문자열(string)
%x: 정수(integer)를 16진수(hexadecimal) 소문자로 표현
%X: 정수(integer)를 16진수(hexadecimal) 대문자로 표현
%o: 정수(integer)를 8진수(octal)로 표현
%e: 부동 소수점 실수(float)를 지수 표기법(exponential notation) 소문자로 표현
%E: 부동 소수점 실수(float)를 지수 표기법(exponential notation) 대문자로 표현
%g: 부동 소수점 실수(float)를 짧은 형식으로 표현 (소수점 형식 또는 지수 표기법 중 짧은 것을 선택)
%G: 부동 소수점 실수(float)를 짧은 형식으로 표현 (소수점 형식 또는 지수 표기법 중 짧은 것을 선택, %E와 동일)

 

 

 

예제  "i = %d\n" % i

"i = %d\n" % i는 문자열 포매팅을 위해 % 연산자를 사용하는 예

이 표현은 C 언어 스타일의 문자열 포매팅 방식으로, 변수를 포맷 문자열에 삽입할 때 사용

i = 42
formatted_string = "i = %d\n" % i
print(formatted_string)

# 실행결과: i = 42

 

설명

포맷 문자열 정의
"i = %d\n"에서 %d는 정수를 삽입할 위치를 지정하고 \n은 줄 바꿈을 나타낸다.

값 삽입
% 연산자를 사용하여 포맷 문자열에 i 값을 삽입
i가 42로 설정되어 있으므로, %d 위치에 42가 삽입

출력
formatted_string은 "i = 42\n"이 되고, print(formatted_string)은 이 문자열을 출력
줄 바꿈 문자 \n 덕분에 출력 후 다음 줄로 이동한다.

 

 

 

추가 예제

포맷 문자열에 여러 값을 삽입할 수도 있다.

i = 42
j = 7
formatted_string = "i = %d, j = %d\n" % (i, j)
print(formatted_string)


# 실행결과: i = 42, j = 7

이 경우, 포맷 문자열 "i = %d, j = %d\n"에 대해 두 개의 정수 값 i와 j가 각각 %d 자리에 삽입

 

 

 

 

 

각 포맷 코드를 사용하는 예제

정수 (%d, %i)

i = 42
print("정수: %d" % i)
# 출력: 정수: 42

부동 소수점 실수 (%f)

pi = 3.141592653589793
print("소수점: %f" % pi)
# 출력: 소수점: 3.141593
# 기본적으로 소수점 이하 6자리까지 표시됩니다.

문자열 (%s)

name = "Alice"
print("이름: %s" % name)
# 출력: 이름: Alice

16진수 (%x, %X)

number = 255
print("16진수 소문자: %x" % number)
# 출력: 16진수 소문자: ff

print("16진수 대문자: %X" % number)
# 출력: 16진수 대문자: FF

8진수 (%o)

number = 255
print("8진수: %o" % number)
# 출력: 8진수: 377

지수 표기법 (%e, %E)

number = 1234567890.123456
print("지수 표기법 소문자: %e" % number)
# 출력: 지수 표기법 소문자: 1.234568e+09

print("지수 표기법 대문자: %E" % number)
# 출력: 지수 표기법 대문자: 1.234568E+09

짧은 형식 (%g, %G)

number = 1234567890.123456
print("짧은 형식 소문자: %g" % number)
# 출력: 짧은 형식 소문자: 1.23457e+09

print("짧은 형식 대문자: %G" % number)
# 출력: 짧은 형식 대문자: 1.23457E+09

 

 

 

고급 사용법

포맷 코드 앞에 수치 형식을 지정하여 출력을 정렬하거나 자릿수를 제어할 수 있다.

 

정렬 및 폭 지정

number = 42
print("폭 5, 오른쪽 정렬: %5d" % number)
# 출력:   42

print("폭 5, 왼쪽 정렬: %-5d" % number)
# 출력: 42

 

소수점 자릿수 지정

pi = 3.141592653589793
print("소수점 이하 2자리: %.2f" % pi)
# 출력: 3.14

 

 


이 방식은 C 언어에서 유래한 것으로, 파이썬에서 % 연산자를 사용한 문자열 포매팅은

다양한 포맷 코드를 통해 여러 종류의 데이터를 문자열로 변환할 수 있다.

 

더 현대적이고 가독성이 좋은 방법으로는 str.format() 메서드나 f-string을 사용하는 것이 좋지만,

% 연산자는 여전히 유용하게 사용될 수 있다.

728x90
반응형