반응형
파이썬 문자열 포매팅
문자열 포매팅(String Formatting)은 텍스트 안에 변수나 값을 삽입해 동적인 문자열을 생성하는 기술입니다. 파이썬에서는 문자열 포매팅을 수행하는 다양한 방법을 제공합니다. 대표적으로는 %
연산자 방식, str.format()
메서드, 그리고 f-string 방식이 있습니다.
1. %
연산자 방식
C 언어의 printf 스타일을 따른 방식으로, 문자열 안에 포매팅 지시자를 사용하여 값을 삽입합니다.
사용법:
name = "Alice"
age = 25
print("Hello, my name is %s and I am %d years old." % (name, age))
주요 포매팅 지시자:
%s
: 문자열%d
: 정수%f
: 부동소수점 (기본적으로 소수점 이하 6자리)%.2f
: 소수점 이하 2자리까지 출력
2. str.format()
메서드
str.format()
은 문자열의 포매팅을 위한 메서드입니다. 중괄호 {}
를 이용해 삽입할 값을 명시적으로 정의합니다.
사용법:
name = "Bob"
age = 30
print("Hello, my name is {} and I am {} years old.".format(name, age))
키워드 활용:
인덱스나 키워드를 활용해 더욱 직관적인 포매팅도 가능합니다.
print("Hello, my name is {0} and I am {1} years old.".format(name, age)) # 인덱스
print("Hello, my name is {name} and I am {age} years old.".format(name="Charlie", age=35)) # 키워드
정렬 및 포매팅:
{:<10}
: 왼쪽 정렬 (10칸 확보){:>10}
: 오른쪽 정렬 (10칸 확보){:^10}
: 가운데 정렬 (10칸 확보){:0.2f}
: 소수점 이하 2자리 표시
3. f-string 방식 (파이썬 3.6 이상)
f-string은 가장 간단하고 직관적인 문자열 포매팅 방식으로, 문자열 앞에 f
를 붙이고 중괄호 {}
안에 변수를 삽입합니다.
사용법:
name = "Diana"
age = 28
print(f"Hello, my name is {name} and I am {age} years old.")
표현식 활용:
f-string은 중괄호 안에 간단한 표현식도 지원합니다.
a = 5
b = 10
print(f"The sum of {a} and {b} is {a + b}.")
형식 지정:
pi = 3.14159
print(f"The value of pi is approximately {pi:.2f}.") # 소수점 이하 2자리
비교
방식 | 장점 | 단점 |
---|---|---|
% 연산자 |
간단하고 빠르게 사용 가능 | 복잡한 경우 가독성 떨어짐 |
str.format() |
가독성이 좋고, 키워드/인덱스 활용 가능 | 상대적으로 코드가 길어질 수 있음 |
f-string | 간결하고 표현식 활용 가능 | 파이썬 3.6 이상에서만 지원 |
실습 과제
1. 다음 변수를 이용해 세 가지 포매팅 방법으로 문자열을 생성해 보세요.
name = "Eve"
height = 165.4
weight = 60.2
결과 예시: "My name is Eve. My height is 165.4 cm and my weight is 60.2 kg."

2. f-string을 이용해 사칙연산 결과를 포함한 문자열을 출력하는 코드를 작성하세요.

형성평가 문항
f-string
에서 중괄호{}
안에 넣을 수 있는 것은 무엇인가요?
a) 단순 변수
b) 복잡한 표현식
c) 함수 호출
d) 모두 가능str.format()
메서드에서{1}
와 같은 표기법은 무엇을 의미하나요?
a) 첫 번째 값
b) 두 번째 값
c) 키워드 값
d) 임의의 값
형성평가 문항 답안
- 정답: d) 모두 가능
f-string에서는 변수, 표현식, 함수 호출 모두 {} 안에 사용할 수 있습니다. - 정답: b) 두 번째 값
str.format()에서 {1}은 format 함수에 전달된 값 중 두 번째 값을 참조합니다.
'실버를 위한 코딩 > 파이썬 연습' 카테고리의 다른 글
[파이썬 연습] 딕셔너리(Dictionary)란? (2) | 2024.11.27 |
---|---|
[파이썬 연습] 튜플과 리스트 (0) | 2024.11.26 |
코랩에서 파일 올리고 압축해제하는 방법 (1) | 2024.11.16 |
[파이썬 연습] 주피터 노트북 단축키 (1) | 2024.10.21 |
[파이썬 연습] 파이썬 내장 함수 bool 연습 (2) | 2024.10.01 |