본문 바로가기
Python/Python Programming language

[초급] 파이썬 문자열 처리 / 문자열 포매팅 (f-string, format(), % 연산자

by Maccrey Coding 2024. 9. 19.
728x90

프로그래밍에서 문자열을 출력하거나 특정 값을 문자열에 삽입하는 것은 매우 자주 일어나는 작업입니다.

이때, 문자열 포매팅은 다양한 형식으로 데이터를 표현할 수 있게 해주는 중요한 기능입니다. 파이썬에서는 문자열 포매팅을 위한 몇 가지 방법을 제공하며, 그중 대표적인 방식은 f-string, format(), % 연산자입니다.

 

이번 글에서는 문자열 포매팅의 개념부터 각 방법의 사용법까지 초보자도 쉽게 이해할 수 있도록 설명하겠습니다.

1. 문자열 포매팅이란?

문자열 포매팅은 문자열 안에 변수나 값을 삽입해 원하는 형식으로 표현하는 방법입니다.

예를 들어, "안녕하세요, 제 이름은 {이름}입니다."와 같은 문장을 만들 때 이름 자리에 실제 값을 넣는 작업을 포매팅이라고 합니다.

파이썬은 다양한 방식으로 문자열 포매팅을 지원하며, 이를 활용하면 데이터를 더 효율적으로 표시할 수 있습니다.

2. f-string: 최신 포매팅 방식

f-string은 파이썬 3.6부터 도입된 가장 최신의 문자열 포매팅 방법입니다. f-strin을 사용하면 매우 간결하고 직관적으로 문자열에 변수를 삽입할 수 있습니다.

f를 문자열 앞에 붙이고, 중괄호 {} 안에 변수를 넣으면 됩니다.

f-string 사용 예시

이름 = "철수"
나이 = 20

문장 = f"안녕하세요, 제 이름은 {이름}이고, 나이는 {나이}살입니다."
print(문장)  # 결과: 안녕하세요, 제 이름은 철수이고, 나이는 20살입니다.

코드 설명

  • 문자열 앞에 f를 붙여서 f-string을 사용합니다.
  • 중괄호 {} 안에 변수 이름, 나이를 삽입하면 해당 값이 문자열로 출력됩니다.

f-string은 변수뿐만 아니라, 표현식도 넣을 수 있습니다.

a = 5
b = 10
결과 = f"{a} 더하기 {b}는 {a + b}입니다."
print(결과)  # 결과: 5 더하기 10은 15입니다.
  • 중괄호 안에 a + b 같은 표현식도 넣을 수 있습니다. 파이썬이 이를 계산해 출력합니다.

3. format(): 강력한 포매팅 메서드

format() 함수는 파이썬에서 문자열 포매팅을 위해 가장 많이 사용되는 방법 중 하나입니다. 중괄호 {} 안에 값을 넣는 방식으로, 여러 변수를 다양한 방식으로 포매팅할 수 있습니다.

format() 사용 예시

이름 = "영희"
나이 = 25

문장 = "안녕하세요, 제 이름은 {}이고, 나이는 {}살입니다.".format(이름, 나이)
print(문장)  # 결과: 안녕하세요, 제 이름은 영희이고, 나이는 25살입니다.

코드 설명

  • format() 함수는 중괄호 {}가 들어간 위치에 값을 순서대로 대입합니다.

또한, 위치 인덱스를 사용하여 특정 위치에 값을 넣을 수도 있습니다.

문장 = "이름: {0}, 나이: {1}".format("영희", 25)
print(문장)  # 결과: 이름: 영희, 나이: 25
  • {0}은 첫 번째 인자, {1}은 두 번째 인자를 의미합니다.

이름을 붙여서 사용하기

문장 = "이름: {name}, 나이: {age}".format(name="영희", age=25)
print(문장)  # 결과: 이름: 영희, 나이: 25
  • {name}과 {age}에 해당하는 값을 format() 함수에 지정해 줄 수 있습니다.

4. % 연산자: 기존의 포매팅 방식

% 연산자는 파이썬에서 문자열 포매팅을 위해 사용되던 전통적인 방법입니다. C 언어 스타일의 포매팅 방식으로, 여전히 사용되는 경우가 많습니다. 문자열 안에 %를 사용해 값을 대입할 위치를 지정합니다.

% 연산자 사용 예시

이름 = "민수"
나이 = 30

문장 = "안녕하세요, 제 이름은 %s이고, 나이는 %d살입니다." % (이름, 나이)
print(문장)  # 결과: 안녕하세요, 제 이름은 민수이고, 나이는 30살입니다.

코드 설명

  • %s는 문자열, %d는 정수 값을 대입할 때 사용됩니다.
  • () 안에 변수를 넣어서 순서대로 값을 대입합니다.

포매팅 유형:

  • %s: 문자열 (string)
  • %d: 정수 (integer)
  • %f: 실수 (float)
점수 = 95.678
문장 = "시험 점수는 %.2f점입니다." % 점수
print(문장)  # 결과: 시험 점수는 95.68점입니다.
  • %.2f는 소수점 둘째 자리까지 표현한다는 의미입니다.

5. 각 방법의 차이점과 비교

포매팅 방식          장점                                                                                                   단점

f-string 가장 간단하고 직관적임. 표현식을 직접 사용 가능 파이썬 3.6 이상에서만 사용 가능
format() 강력하고 다양한 옵션 제공 코드가 복잡해질 수 있음
% 연산자 익숙한 스타일, 간단한 사용법 복잡한 포매팅에는 적합하지 않음
  • f-string은 가장 최신 방식이며, 코드가 간결하고 가독성이 좋습니다.
  • format()은 다양한 포맷팅 옵션을 제공하지만 코드가 길어질 수 있습니다.
  • % 연산자는 간단하지만 복잡한 형식의 데이터를 처리하기에는 불편합니다.

6. 실전 예제와 코드 설명

다음은 세 가지 문자열 포매팅 방법을 사용하는 실전 예제입니다.

이름 = "수지"
나이 = 28
직업 = "개발자"

# f-string 사용
문장_fstring = f"안녕하세요, 제 이름은 {이름}이고, 나이는 {나이}살이며, 직업은 {직업}입니다."
print(문장_fstring)

# format() 사용
문장_format = "안녕하세요, 제 이름은 {}이고, 나이는 {}살이며, 직업은 {}입니다.".format(이름, 나이, 직업)
print(문장_format)

# % 연산자 사용
문장_퍼센트 = "안녕하세요, 제 이름은 %s이고, 나이는 %d살이며, 직업은 %s입니다." % (이름, 나이, 직업)
print(문장_퍼센트)

코드 설명

  • f-string, format(), % 연산자를 각각 사용하여 같은 문장을 출력합니다.
  • 각 방식의 차이를 이해하고 필요에 맞게 사용할 수 있습니다.

7. 자주 묻는 질문 (FAQ)

Q1: f-string은 언제부터 사용할 수 있나요?

f-string은 파이썬 3.6부터 도입된 기능이므로, 3.6 버전 이상에서만 사용할 수 있습니다. 더 간결하고 가독성이 좋아 최신 프로젝트에서는 많이 사용됩니다.

 

Q2: format()과 % 연산자 중 어느 것을 더 추천하나요?

최근에는 format()이나 f-string을 더 많이 사용합니다. % 연산자는 C 스타일의 포매팅 방식으로, 현재는 주로 간단한 작업에서 사용되지만 복잡한 포매팅 작업에서는 format() 또는 f-string이 더 유용합니다.

 

파이썬에서 문자열 포매팅은 자주 사용되는 중요한 기능입니다.

이번 포스트에서는 f-string, format(), % 연산자를 비교하며 각 방식의 사용법을 소개했습니다.

초보자라도 각 포매팅 방식을 연습하면서 다양한 상황에 맞는 방식을 사용할 수 있게 됩니다.

 

구독!! 공감과 댓글은 저에게 큰 힘이 됩니다.

Starting Google Play App Distribution! "Tester Share" for Recruiting 20 Testers for a Closed Test.

 

Tester Share [테스터쉐어] - Google Play 앱

Tester Share로 Google Play 앱 등록을 단순화하세요.

play.google.com

728x90