Python에서 문자열 형식을 지정하는 방법(f-문자열 및 형식)
Python에서 최고의 문자열 형식 지정 기술을 알아보세요. 최신 f-문자열, format() 및 백분율 형식을 코드 예제와 비교해 보세요.
개요
문자열 형식 지정은 메시지 내부의 변수 렌더링, 로그 출력, 콘솔 디버그 인쇄 및 웹 페이지 구축을 위해 매일 필요합니다. Python은 수년에 걸쳐 문자열 형식을 크게 발전시켜 동적 텍스트 표현을 안전하고 읽기 쉽게 구성할 수 있는 다양한 옵션을 제공합니다.
최신 Python(3.6+)에서 가장 널리 사용되는 표준 접근 방식은 f-문자열(Formatted String Literals)을 사용하여 형식을 지정하는 것입니다. 문자열 앞에 `f` 또는 `F`를 추가하면 Python 표현식이나 변수를 중괄호 `{}` 안에 직접 포함할 수 있습니다. 이러한 표현식은 런타임 시 평가되므로 f-문자열을 이전 형식 지정 방법보다 더 빠르고 훨씬 더 읽기 쉽게 만듭니다.
이전 Python 코드 베이스는 `.format()` 메서드나 백분율 `%` 형식을 활용할 수 있습니다. 여전히 지원되지만 일반적으로 새 코드에서는 권장되지 않습니다. f-문자열은 또한 강력한 인라인 형식 지정자를 지원하므로 소수점 정밀도(예: `{value:.2f}`)를 제어하고, 텍스트를 정렬하거나, 문자열 변수 내에서 직접 날짜 형식을 지정할 수 있습니다.
코드 및 실행 출력
이 스크립트는 f-문자열을 사용하여 동적 텍스트 블록을 인쇄하고, 부동 소수점 부동 소수점 형식을 지정하고, .format()을 사용하는 방법을 보여줍니다.
name = "Alice"
age = 30
pi = 3.14159
# 1. Using modern f-strings (Recommended)
greeting_f = f"Hello, my name is {name} and I am {age} years old."
print("f-string:", greeting_f)
# 2. formatting floats (2 decimal places precision)
precision_f = f"Pi rounded: {pi:.2f}"
print(precision_f)
# 3. Using the older .format() method
greeting_format = "Hello, my name is {} and I am {}.".format(name, age)
print(".format():", greeting_format)f-string: Hello, my name is Alice and I am 30 years old.
Pi rounded: 3.14
.format(): Hello, my name is Alice and I am 30.단계별 구현
- 문자열 리터럴 앞에 문자 f를 붙입니다(예: f'Hello...').
- 문자열 내의 중괄호 {} 안에 직접 변수나 표현식을 삽입합니다.
- 중괄호 안의 소수점 형식을 처리하려면 :.2f와 같은 형식 사양을 사용하세요.
자주 묻는 질문
f-문자열이 .format() 및 % 형식화보다 빠릅니까?
예, f-문자열은 런타임 시 최적화된 바이트코드 작업으로 평가되므로 .format() 및 % 연산자보다 빠릅니다.
f-문자열 내에서 함수를 실행하거나 표현식을 평가할 수 있나요?
예, 모든 유효한 Python 표현식(수학적 연산, 함수 호출 및 사전 조회 포함)을 중괄호 내에서 평가할 수 있습니다.
관련 주제
권장 Python 리소스
관련 대화형 튜토리얼, 치트 시트, 코드 비교를 통해 지식을 확장하세요.
Python 문자열
Python의 마스터 문자열 조작. 명확하고 실행 가능한 코드 예제를 통해 문자열 메서드, 슬라이싱, 연결 및 형식 지정 기술을 알아보세요.
Python DateTime 형식 지정 치트 시트
datetime, strftime 및 strptime을 사용하여 Python에서 날짜와 시간을 구문 분석하고 형식을 지정하는 방법을 알아보세요.
Python 대 JavaScript: 어떤 프로그래밍 언어가 가장 좋나요?
Python과 JavaScript를 포괄적으로 비교합니다. 구문 차이점, 성능, 사용 사례(백엔드와 프런트엔드) 및 코딩 예제를 살펴보세요.