본문 바로가기
Python/기초

파이썬 문자열 포매팅 4가지 한 글로 정리하기

by 모두의 케빈 2023. 8. 16.

 

 

문자열 포매팅이란?


 

파이썬에서 print() 함수의 출력 양식(format)을 아름답게 꾸밀 수 있는 방법이 있습니다. 이처럼 문자열의 출력 방식을 조절하는 것을 문자열 포매팅이라고 합니다. 문자열을 출력하는 방식에는 크게 4가지가 있습니다. 모든 방식을 다 아실 필요는 없고, 본인에게 가장 잘 맞는 한 가지를 선택하셔서 사용하시면 됩니다.

 

 

 

 

문자열 포매팅 종류 4가지


파이썬에서 문자열 포매팅의 종류는 크게 4가지입니다. 앞의 두 가지 방법은 공부용으로 알아두시고, 제가 추천드리는 방법은 뒤의 두 가지입니다. 하나씩 차근차근 알아보겠습니다.

 

 

문자열 연산 활용

 

첫 번째는 문자열의 연산을 이용하는 방식입니다. 

 

print("오늘 하루도 잘 보내셨나요?" + '\n' + "내일도 좋은 일만 있으면 좋겠습니다.")

 >>>>> 실행 결과
오늘 하루도 잘 보내셨나요?
내일도 좋은 일만 있으면 좋겠습니다.

 

문자열 연산 방식은 출력 양식이 복잡해지면 코드의 가독성이 떨어진다는 단점이 있습니다. 

 

 

 

문자열 포맷 코드

 

두 번째 방법은 문자열 포맷 코드를 활용하는 방식입니다. 이는 C언어와 상당히 유사한 방식인데요. 변수의 자리에 ‘% 자료형’을 써서 이를 치환하는 방식입니다.

 

name = "Python"
age = 30

print("안녕하세요. 저의 이름은 %s이고 나이는 %d입니다." %(name,age))
 >>>>> 실행 결과: 안녕하세요. 저의 이름은 Python이고 나이는 30입니다.

문자열 포맷코드는 아래와 같습니다.

 

"문자열: %s, 문자: %c 또는 %s, 정수: %d, 실수: %f"

 

개인적으로 변수의 유형을 고려해야 하는 문자열 포맷 코드 방식은 파이썬스럽지 못한 문법이라고 생각하기 때문에 추천드리지 않습니다.

 

 

추천 방법 1: f문자열 포매팅

 

f문자열 포매팅은 문자열 앞에 f를 붙이고 변수를 중괄호로 감싸서 출력합니다.

 

name = "Python"
age = 30

print(f"안녕하세요. 저는 {name}입니다. 나이는 {age}살입니다.")
 >>>>> 실행 결과: 안녕하세요. 저는 Python입니다. 나이는 30살입니다.

 

이 방식은 변수를 필요한 위치에 바로 적을 수 있어서 직관적이고 출력 속도가 다른 문자열 포매팅 방식보다 빠릅니다. 파이썬 3.6 이상의 버전부터 사용할 수 있습니다.

 

 

추천 방법 2: format 메서드

 

 

다음으로는 format() 메서드를 사용하여 변수를 인덱스(Index)에 기반하여 치환하는 방식입니다.

name = "Programming"
age = 28

print("나는 {0}이고 나이는 {1}이야. 만나서 반가워!".format(name,age))
 >>>>> 실행 결과: 나는 Programming이고 나이는 28이야. 만나서 반가워!

 

 

format 함수 소괄호 안의 변수의 인덱스를 중괄호에 대입해 주시면 됩니다.

# 아래 코드도 실행해 보세요.
name = "Programing"
age = 28

print("나는 {1}이고 나이는 {0}이야. 만나서 반가워.".format(age, name))

 

 

물론 인덱스를 아래처럼 생략할 수 있습니다. 숫자를 중괄호 안에 쓰면, 변수의 순서를 조절할 수 있지만 숫자를 생략하면 순서대로 출력됩니다.

name = "Programming"
age = 28

print("나는 {}이고 나이는 {}이야. 만나서 반가워!".format(name,age))
 >>>>> 실행 결과: 나는 Programming이고 나이는 28이야. 만나서 반가워!

 

 

 

댓글