에듀테크 프로젝트 대시보드
문자열 포매팅 (f-string)
f"..." 안의 { } 에 파이썬 표현식을 그대로 넣습니다. 가장 권장되는 방식입니다.
name, age = "민수", 17
f"{name}는 {age}살" # => '민수는 17살'
f"내년엔 {age + 1}살" # 표현식 OK
f"{name.upper()}" # 메서드 호출 OK
# = : 디버그 출력 (3.8+) — 변수명과 값 동시에
f"{age = }" # => 'age = 17'
# 중괄호 문자는 두 번
f"{{리터럴 중괄호}}" # => '{리터럴 중괄호}' | 스펙 | 의미 | 예시 |
|---|---|---|
:.2f | 소수점 2자리 고정 | f"{3.14159:.2f}" => '3.14' |
:, | 천 단위 콤마 | f"{1234567:,}" => '1,234,567' |
:>10 | 폭 10, 오른쪽 정렬 | f"{'hi':>10}" => ' hi' |
:^10 | 가운데 정렬 | f"{'hi':^10}" |
:08.2f | 0채움 폭8 소수2 | f"{3.1:08.2f}" => '00003.10' |
:+ | 부호 항상 표시 | f"{5:+}" => '+5' |
:.1% | 백분율 | f"{0.25:.1%}" => '25.0%' |
:x :b :o | 16/2/8진수 | f"{255:x}" => 'ff' |
:.3e | 지수 표기 | f"{12345:.3e}" => '1.234e+04' |
rows = [("사과", 3, 1200), ("바나나", 12, 800)]
for name, qty, price in rows:
print(f"{name:<6}{qty:>4}개 {price * qty:>8,}원")
# 사과 3개 3,600원
# 바나나 12개 9,600원
# 폭을 변수로: 중첩 중괄호
w = 12
f"{'제목':^{w}}""{}-{}".format(2024, 1) # => '2024-1'
"{name}".format(name="kim") # 이름 지정
"{0}{1}{0}".format("a", "b") # => 'aba' (인덱스 재사용)
"%s는 %d살" % ("민수", 17) # C 스타일 (레거시)str.format() / %logging 은 log.info("%s", x) 형태 권장 (지연 평가){} 안에 # 주석 불가gettext 템플릿