Python을 배워보자/2. 기본 문법

파이썬 다양한 형식으로 출력하기 (format())

_Blue_Sky_ 2024. 9. 20. 15:41
728x90
728x90
 

파이썬 다양한 형식으로 출력하기 (format()) 심층 분석: 문자열 포매팅의 모든 것

파이썬에서 문자열을 다룰 때 가장 많이 사용되는 기능 중 하나가 바로 format() 함수를 이용한 포매팅입니다. 포매팅은 변수의 값을 문자열 안에 적절히 삽입하여 가독성 높은 문장을 만들어내는 작업입니다. 이 글에서는 format() 함수의 다양한 활용법과 함께, 문자열 포매팅의 핵심 개념을 쉽고 자세하게 설명하고자 합니다.

1. format() 함수의 기본 구조

format() 함수는 중괄호 {}를 포함한 문자열 뒤에 마침표(.)를 찍고 사용합니다. 중괄호 안에 들어갈 값은 format() 함수의 인자로 전달됩니다.

name = "Alice"
age = 30

print("안녕하세요, 저는 {}이고 {}살입니다.".format(name, age))
 

위 코드는 다음과 같이 출력됩니다.

안녕하세요, 저는 Alice이고 30살입니다.
728x90

2. 다양한 포맷 코드 활용하기

format() 함수는 다양한 포맷 코드를 지원하여 숫자, 문자열 등을 원하는 형식으로 출력할 수 있습니다.

  • 정수: d
  • 실수: f (소수점 아래 자릿수 지정 가능), e (지수 표기법)
  • 문자열: s
  • %: %
price = 12345.6789
print("가격은 ${:.2f}입니다.".format(price))  # 가격은 $12345.68입니다.

number = 123456789
print("숫자는 {:,}입니다.".format(number))  # 숫자는 123,456,789입니다.

percentage = 0.75
print("완료율은 {:.2%}입니다.".format(percentage))  # 완료율은 75.00%입니다.
 

3. 인덱스와 키를 이용한 포매팅

  • 인덱스: 중괄호 안에 인덱스를 지정하여 순서대로 값을 삽입합니다.
  • 키: 중괄호 안에 키를 지정하고, format() 함수의 인자를 딕셔너리 형태로 전달합니다.
data = {"name": "Bob", "age": 25}
print("이름은 {name}이고 나이는 {age}입니다.".format(**data))
 

4. f-문자열 (Python 3.6 이상)

Python 3.6부터 도입된 f-문자열은 format() 함수보다 간결하고 가독성이 좋습니다.

name = "Charlie"
age = 35
print(f"안녕하세요, 저는 {name}이고 {age}살입니다.")
 

5. 고급 포매팅

  • 채우기: : 뒤에 채울 문자를 지정합니다.
  • 정렬: <, >, ^를 사용하여 왼쪽, 오른쪽, 가운데 정렬을 합니다.
  • 부호: +, -, 를 사용하여 부호를 표시합니다.
  • 자릿수: 숫자를 사용하여 자릿수를 지정합니다.
number = 123
print(f"{number:05d}")  # 00123
print(f"{number:>10}")  #        123

결론

format() 함수는 파이썬에서 문자열을 다루는 강력한 도구입니다. 다양한 포맷 코드와 기능을 활용하여 원하는 형식의 문자열을 만들어낼 수 있습니다. 특히 f-문자열은 간결하고 가독성이 좋기 때문에 Python 3.6 이상에서는 f-문자열을 적극적으로 활용하는 것이 좋습니다.

728x90
728x90