728x90
반응형

Python 포매팅(Python Formatting) 개념
**포매팅(Formatting)**은 문자열 내에 변수나 데이터를 삽입하거나 원하는 형식으로 출력하는 방법을 의미한다. 이 과정에서 값들을 문자열 템플릿에 맞게 배치하거나 변환하여, 가독성 높은 결과물을 생성할 수 있다. Python은 여러 가지 포매팅 방법을 제공하며, 코딩 스타일에 따라 다양한 방식으로 사용할 수 있다.
문자열 포매팅 방법 3가지와 예제
1. % 포매팅 (옛날 방식)
- C 언어 스타일의 문자열 포매팅 방식이다.
- "%s", "%d", "%f" 등 포맷 코드를 사용한다.
- 단점: 코드 가독성이 떨어지고 복잡한 문자열 처리에 불편하다.
# 예제
name = "Alice"
age = 25
greeting = "Hello, my name is %s and I am %d years old." % (name, age)
print(greeting)
# 출력: Hello, my name is Alice and I am 25 years old.
2. str.format() 메서드
- Python 3에서 주로 사용되는 포매팅 방식이다.
- 중괄호 {}를 사용하여 값들을 삽입할 위치를 지정한다.
- 포맷 옵션을 통해 값의 정렬, 자릿수 지정, 소수점 조절 등이 가능하다.
# 예제
name = "Bob"
score = 95.123
formatted = "Student: {0}, Score: {1:.2f}".format(name, score)
print(formatted)
# 출력: Student: Bob, Score: 95.12
3. f-string 포매팅 (Python 3.6 이상)
- 가장 현대적인 방식으로, 문자열 앞에 f를 붙여 변수를 중괄호 {} 안에 직접 삽입한다.
- 간결하고 가독성이 좋으며, 표현식도 지원한다.
# 예제
name = "Charlie"
items = 3
price = 19.99
f_string = f"{name} bought {items} items for a total of ${items * price:.2f}."
print(f_string)
# 출력: Charlie bought 3 items for a total of $59.97.
3가지 방법 비교
포매팅 방법 장점 단점 Python 버전
| % 포매팅 | 간단한 문자열 처리에 적합 | 복잡한 문자열 포매팅에는 비효율적 | Python 2, 3 |
| str.format() | 다양한 포맷 옵션 제공 | f-string에 비해 다소 장황함 | Python 3 이상 |
| f-string | 가독성과 효율성이 뛰어남 | Python 3.6 이상에서만 지원 | Python 3.6+ |
결론
Python에서 문자열 포매팅은 여러 방식으로 가능하며, 단순한 포매팅에는 f-string을, 복잡한 형식 변환에는 str.format()을 사용하는 것이 일반적이다. f-string은 가독성이 좋아 최신 코드에서 가장 선호된다.
실제 코드에서 상황에 맞는 포매팅 방법을 선택하는 것이 중요하다.
728x90
반응형
'코딩' 카테고리의 다른 글
| @api_view 데코레이터 (3) | 2024.12.05 |
|---|---|
| 파이썬 자료형; Data Types (1) | 2024.12.05 |
| django ORM (SQL 코드 자동화) (2) | 2024.12.04 |
| django CSRF 방지 메커니즘 (3) | 2024.12.03 |
| django JsonResponse 와 DRF Response (0) | 2024.12.03 |