f-string은 Python 3.6부터 도입된 문자열 포맷팅 방법으로, 가독성이 뛰어나고 사용이 간편합니다.
문자열 앞에 f를 붙이고 중괄호 {} 안에 변수명을 넣어 포맷팅합니다.
f-string 사용법
f-string을 사용하려면 문자열 앞에 f를 붙이고, 중괄호 {} 안에 변수나 표현식을 넣습니다.
s = "Alice"
a = 30
h = 165.5
print(f"Name: {s}, Age: {a}, Height: {h}")
# Name: Alice, Age: 30, Height: 165.5
f-string에서도 실수형 데이터를 포맷팅할 때 소수점 이하 자릿수를 지정할 수 있습니다.
{value:.nf}: 소수점 이하 n자리까지 출력
{value:m.nf}: 전체 m자리 중 소수점 이하 n자리까지 출력
pi = 3.141592653589793
# 소수점 이하 2자리까지 출력
print(f"Value of Pi: {pi:.2f}") # Value of Pi: 3.14
# 소수점 이하 5자리까지 출력
print(f"Value of Pi: {pi:.5f}") # Value of Pi: 3.14159
# 전체 8자리 중 소수점 이하 3자리까지 출력
print(f"Value of Pi: {pi:8.3f}") # Value of Pi: 3.142
# 전체 10자리 중 소수점 이하 4자리까지 출력
print(f"Value of Pi: {pi:10.4f}") # Value of Pi: 3.1416
f-string은 변수뿐만 아니라 중괄호 안에 간단한 표현식도 사용할 수 있습니다
x = 5
y = 10
fs = f"Sum: {x + y}, Product: {x * y}"
print(fs) # Sum: 15, Product: 50
f-string을 사용하여 문자열을 정렬할 수 있습니다.
기본적으로 >는 오른쪽 정렬, <는 왼쪽 정렬, ^는 가운데 정렬을 의미합니다.
s = "Alice"
# 왼쪽 정렬 (10자리)
print(f"'{s:<10}'") # 'Alice '
# 오른쪽 정렬 (10자리)
print(f"'{s:>10}'") # ' Alice'
# 가운데 정렬 (10자리)
print(f"'{s:^10}'") # ' Alice '
또한, 정렬 시 공백 대신 다른 문자를 채우고 싶을 때는 공백 대신 원하는 문자를 사용할 수도 있습니다.
s = "Alice"
# 왼쪽 정렬 (10자리, '-'로 채우기)
print(f"'{s:-<10}'") # 'Alice-----'
# 오른쪽 정렬 (10자리, '*'로 채우기)
print(f"'{s:*>10}'") # '*****Alice'
# 가운데 정렬 (10자리, '='로 채우기)
print(f"'{s:=^10}'") # '==Alice==='