본문 바로가기

언어/Python

[ Python ] format 함수 사용하기

반응형

1. 파이썬 format 함수: 문자열 포맷팅 마스터하기

파이썬의 format 함수는 문자열 안에 변수나 값을 삽입하여 원하는 형태로 문자열을 만들 수 있게 해주는 강력한 도구입니다. 이 함수를 사용하면 더욱 읽기 쉽고 유지보수하기 좋은 코드를 작성할 수 있습니다.

기본 형식

{필드_이름:변환_지시자!변환_플래그:너비.정밀도}
  • 필드_이름: (선택 사항) format 함수의 인자 순서나 키워드 인자 이름을 지정합니다.
  • 변환_지시자: (선택 사항) 값의 데이터 유형을 변환합니다 (예: s - 문자열, d - 정수, f - 부동 소수점).
  • 변환_플래그: (선택 사항) 변환된 값에 추가적인 서식을 적용합니다 (예: !r - repr 함수 사용, !s - str 함수 사용).
  • 너비: (선택 사항) 출력할 문자열의 최소 너비를 지정합니다.
  • 정밀도: (선택 사항) 부동 소수점 숫자의 소수점 이하 자릿수나 문자열의 최대 길이를 지정합니다.

기본 사용법

format 함수는 중괄호 {}를 자리 표시자로 사용하여 문자열 안에 어떤 값을 넣을지 지정합니다.

name = "Alice"
age = 30
message = "내 이름은 {}이고, 나이는 {}살입니다.".format(name, age)
print(message)  # 출력: 내 이름은 Alice이고, 나이는 30살입니다.

인덱스 활용

중괄호 안에 숫자를 넣어서 format 함수의 인자 순서를 지정할 수도 있습니다.

name = "Alice"
age = 30

message = "내 이름은 {0}이고, {0}의 나이는 {1}살입니다.".format(name, age)
print(message)  # 출력: 내 이름은 Alice이고, Alice의 나이는 30살입니다.

키워드 인자 활용

중괄호 안에 변수 이름을 넣어서 키워드 인자 형태로 값을 전달할 수도 있습니다.

name = "Alice"
age = 30

message = "내 이름은 {name}이고, 나이는 {age}살입니다.".format(name=name, age=age)
print(message)  # 출력: 내 이름은 Alice이고, 나이는 30살입니다.

형식 지정자 활용

중괄호 안에 콜론(:) 뒤에 형식 지정자를 추가하여 값의 형식을 세밀하게 제어할 수 있습니다.

pi = 3.141592
message = "원주율은 약 {:.2f}입니다.".format(pi)
print(message)  # 출력: 원주율은 약 3.14입니다.

위 예시에서 .2f는 소수점 둘째 자리까지 표시하라는 의미입니다.

f-string 활용 (Python 3.6 이상)

Python 3.6부터는 f-string이라는 더 간편한 문자열 포맷팅 방법이 도입되었습니다.

name = "Alice"
age = 30

message = f"내 이름은 {name}이고, 나이는 {age}살입니다."
print(message)  # 출력: 내 이름은 Alice이고, 나이는 30살입니다.

f-string을 사용하면 중괄호 안에 변수 이름을 직접 넣을 수 있어 더욱 직관적입니다.

자주 사용되는 포맷 지시자 예시

지시자 설명 예시 (value = 123.4567) 출력 결과
s 문자열 {value:s} '123.4567'
d 정수 {value:d} '123'
f 고정 소수점 {value:f} '123.456700'
.2f 고정 소수점 (소수점 둘째 자리까지) {value:.2f} '123.46'
% 백분율 {value:.1%} '12345.7%'
e 지수 표기법 {value:e} '1.234567e+02'
x 16진수 (소문자) {value:x} '7b'
X 16진수 (대문자) {value:X} '7B'
< 왼쪽 정렬 {value:<10} '123.4567 '
> 오른쪽 정렬 {value:>10} ' 123.4567'
^ 가운데 정렬 {value:^10} ' 123.4567 '
0 숫자 채우기 (빈 공간을 0으로 채움) {value:08} '00123.4567'
+ 부호 표시 (양수일 때도 + 기호 표시) {value:+f} '+123.456700'
- 부호 표시 (음수일 때만 - 기호 표시) {value:-f} '123.456700'
  양수 앞에 공백 추가 {value: f} ' 123.456700'
, 숫자에 쉼표 추가 (1,000 단위 구분) {value:,} '123,456.7'

 

더 많은 기능

format 함수와 f-string은 정렬, 채우기, 숫자 형식 지정 등 다양한 기능을 제공합니다. 자세한 내용은 파이썬 공식 문서나 관련 자료를 참고해 보세요.

주의 사항

  • format 함수를 사용할 때는 중괄호 개수와 인자 개수가 일치해야 합니다.
  • f-string을 사용할 때는 변수 이름에 오타가 없도록 주의해야 합니다.
반응형