프로그래밍 언어/Python

[Python] f-string (문자열)

ShovelingLife 2024. 3. 21. 11:50

기존 문자열 방식

1. 더하기 키워드

person1 = "철수"
person2 = "영희"
print(person1 + "는 " + person2 + "를 좋아한데요!")

2. % 서식

person1 = "철수"
person2 = "영희"
print("%s는 %s를 좋아한데요!"%(person1, person2))

3. str.format 함수

person1 = "철수"
person2 = "영희"
print("{}는 {}를 좋아한데요!".format(person1, person2))

 

이렇게 그동안 사용해오던 문법들은 각 단어가 어느 부분에 전달되는지, 어떤 기호를 빼고 읽어야 하는지 깊게 관찰이 필요하지만 f-string은 매우 직관적이고 가독성이 뛰어나다.

person1 = "철수"
person2 = "영희"
print(f"{person1}는 {person2}를 좋아한데요!")
x = 123
y = 456
print(f'x * y = {x * y}')
# x * y = 56088

속도 차이

%timeit print(person1 + "는 " + person2 + "를 좋아한데요!")
-> 10000 loops, best of 5: 97.1 µs per loop

%timeit print("%s는 %s를 좋아한데요!"%(person1, person2))
-> 10000 loops, best of 5: 113 µs per loop

%timeit print("{}는 {}를 좋아한데요!".format(person1, person2))
10000 loops, best of 5: 101 µs per loop

%timeit print(f"{person1}는 {person2}를 좋아한데요!")
10000 loops, best of 5: 96.4 µs per loop

 

https://m.blog.naver.com/isc0304/222265925637