문제 상황
프로그램 실행 결과를 확인할 때 숫자가 너무 길거나 날짜 형식이 제각각이면 내용을 파악하기 힘듭니다. 특히 소수점 아래 자릿수가 무작위로 출력되면 데이터 사이의 정렬이 어긋나 가독성이 떨어집니다. 천 단위 구분 쉼표가 없는 큰 숫자는 금액이나 수량을 오독하게 만드는 원인이 되기도 합니다.
단순히 변수만 출력하면 1250000과 같은 숫자는 한눈에 얼마인지 알아보기 어렵습니다. 날짜 역시 시스템 기본 형식으로 출력하면 연, 월, 일 구분이 모호하여 가공이 필요합니다. 문자열을 일일이 더하거나 복잡한 포맷 함수를 쓰지 않고도 이를 깔끔하게 해결하는 방법이 필요합니다.
해결 코드
from datetime import datetime
# 가공할 데이터 준비
price = 1250000
pi_value = 3.1415926535
progress = 0.8756
log_time = datetime(2023, 10, 25, 14, 30, 45)
# 1. 숫자 포맷팅: 천 단위 쉼표와 소수점 자릿수
# 콜론 뒤에 쉼표를 붙여 구분자를 추가하고 .2f로 소수점 둘째 자리까지 제한함
formatted_price = f"금액: {price:,}원"
formatted_pi = f"원주율: {pi_value:.2f}"
# 2. 퍼센트 출력과 공백 채우기
# .1%는 소수점 첫째 자리까지 백분율로 변환하며 0>5는 5칸 중 빈 곳을 0으로 채움
formatted_pct = f"진행률: {progress:.1%}"
formatted_id = f"사용자 ID: {7:0>5}"
# 3. 날짜 및 시간 포맷팅
# datetime 객체 뒤에 직접 포맷 코드를 작성하여 날짜 형식을 변경함
formatted_date = f"기록 날짜: {log_time:%Y년 %m월 %d일}"
formatted_time = f"기록 시간: {log_time:%H:%M:%S}"
# 4. 문자열 정렬과 패딩
# <, >, ^ 기호를 사용하여 왼쪽, 오른쪽, 중앙 정렬을 수행함
subject = "Python"
left_align = f"|{subject:<10}|"
right_align = f"|{subject:>10}|"
center_align = f"|{subject:^10}|"
# 결과 출력
print(formatted_price)
print(formatted_pi)
print(formatted_pct)
print(formatted_id)
print(formatted_date)
print(formatted_time)
print(left_align)
print(right_align)
print(center_align)
코드 설명
- 중괄호 안의 변수명 뒤에 콜론과 쉼표를 붙여 천 단위마다 구분 기호를 넣습니다.
- 점과 숫자를 조합한 서식을 사용하여 소수점 아래 출력 범위를 지정합니다.
- 퍼센트 기호를 서식 끝에 추가하여 소수점 데이터를 백분율 형태로 바꿉니다.
- 부등호와 숫자를 활용하여 문자열이 차지할 전체 폭과 정렬 위치를 정합니다.
- 날짜 객체에 서식 지정자를 직접 입력하여 연, 월, 일 순서를 조절합니다.
- 숫자 앞에 0을 붙여 자릿수를 맞추는 방식으로 데이터를 규격화합니다.
실행 결과
금액에는 1,250,000처럼 쉼표가 붙고 진행률은 87.6%로 반올림되어 나타납니다. 사용자 ID는 00007로 출력되며 파이썬이라는 글자가 10칸의 공간 안에서 위치를 옮깁니다.
금액: 1,250,000원
원주율: 3.14
진행률: 87.6%
사용자 ID: 00007
기록 날짜: 2023년 10월 25일
기록 시간: 14:30:45
|Python |
| Python|
| Python |
정리
f-string은 단순히 변수 값을 넣는 기능을 넘어 강력한 출력 서식 기능을 제공합니다. 콜론 뒤에 간단한 기호를 추가하는 것만으로도 숫자 형식을 바꾸거나 날짜를 읽기 좋게 다듬을 수 있습니다. 별도의 서식 변환 함수를 호출하지 않아도 되므로 코드의 가독성이 유지됩니다.
정렬과 패딩 기능을 적절히 섞어서 사용하면 텍스트 기반의 인터페이스에서도 표 형태의 정갈한 출력이 가능합니다. 소수점 자릿수 제한은 데이터의 정밀도를 유지하면서도 화면을 깔끔하게 만드는 역할을 합니다. 날짜 서식 지정자를 활용하면 복잡한 날짜 연산 없이도 원하는 형태의 리포트를 작성할 수 있습니다.
데이터의 특성에 맞는 서식을 적용하여 코드의 결과물이 주는 정보를 명확하게 전달하십시오. f-string의 포맷팅 문법을 익혀두면 디버깅 로그나 사용자 메시지를 구성할 때 작업 시간을 줄여줍니다. 실무에서 자주 쓰이는 쉼표 추가와 소수점 제어는 가장 먼저 익혀야 할 핵심 기술입니다.

답글 남기기