강의를 듣다가 문자열 format을 배웠다. 이전에 다른 강의를 들을 땐 f-string이라는 걸 배웠고...
기능이 똑같은 것 같은데 왜 다르게 가르쳐주는 건지 궁금하기도 하여 챗 GPT에게 물어 찾아보았다.
Python에서 f-string과 문자열 format 메서드는 모두 문자열 내에 변수를 포함시키기 위한 주요 방법이다.
🔥 f-string (포맷된 문자열 리터럴)
- f-string은 Python 3.6부터 도입된 방식이다.
- 문자열 앞에 'f' 또는 'F'를 붙여 사용한다.
- 중괄호 {} 안에 변수를 직접 넣어 문자열을 작성한다.
아래 예시와 같이 사용한다.
name = "Alice"
age = 30
info = f"My name is {name} and I am {age} years old."
print(info)
출력 결과: My name is Alice and I am 30 years old.
🔥 문자열 format 메서드
- 문자열 format 메서드는 Python 2.7과 3.0부터 사용할 수 있었다.
- 중괄호 {}를 이용해 문자열을 작성하고,
- format() 메서드를 호출하여 변수 값을 지정한다.
아래 예시와 같이 사용한다.
name = "Alice"
age = 30
info = "My name is {} and I am {} years old.".format(name, age)
print(info)
출력 결과: My name is Alice and I am 30 years old.
결과는 f-string이나 문자열 format 메서드나 동일하게 나온다.
🔥 주요한 차이점을 알아보자.
1. 가독성
f-string은 코드가 간결하고 읽기 쉽다.
변수명을 중괄호 안에 직접 작성하기 때문에 어떤 값이 출력되는지 한눈에 알 수 있다.
format 메서드는 조금 더 길어질 수 있으며, 가독성이 떨어질 수 있다.
2. 성능(처리 속도 면에서)
f-string은 런타임에 문자열을 처리하므로 일반적으로 format 메서드보다 빠르다.
3. 표현식 사용 가능 여부
f-string은 중괄호 안에 표현식을 사용할 수 있어 더욱 유연하다.
예를 들면, 아래와 같이 곱셈 표현식을 그냥 중괄호 안에 바로 넣어버릴 수 있다.
width = 10
height = 5
area = f"The area is {width * height}."
print(area)
반면 문자열 format 메서드는 단순히 변수 삽입 기능만 가지고 있다고는 하지만
괄호 안에서 곱해서 넣으면 체감상 큰 차이는 없다.
width = 10
height = 5
area = "The area is {}.".format(width * height)
print(area)
개인적으로는 f-string을 먼저 배우기도 했고, 사용하기도 좀 더 간결하고 직관적이라 앞으로도 f-string을 사용할 것 같다. python 3.6부터 도입이 되었다고 하니 그 전 버전에서 안되어도 당황하지 말아야지!
오늘도 타닥타닥 조용히 공부하는 모닥불이었습니다. 🔥🔥🔥 그럼 이만, 화르륵
'빅데이터분석' 카테고리의 다른 글
[메타코드] 파이썬 입문 데이터분석 - 마케팅 데이터분석 및 지표정의 (1) Attribution (0) | 2024.07.27 |
---|---|
[메타코드] 파이썬 입문 데이터분석 - 제품 포트폴리오 분석 (3) 시각화 (0) | 2024.07.27 |
[메타코드] 파이썬 입문 데이터분석 - 제품 포트폴리오 분석 (2) 필요한 컬럼 추가하기 (1) | 2024.07.21 |
[메타코드] 파이썬 입문 데이터분석 - 제품 포트폴리오 분석 (1) 데이터 파악 (0) | 2024.07.21 |
[헷갈리는 파이썬] Null, Na, NaN 결측치 이름 차이, isnull()과 isna()의 차이? (판다스 공식 문서 참고) (0) | 2024.07.12 |