본문 바로가기

코딩

파이썬 출력 예쁘게 하기; python Format

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