
파이썬은 텍스트 문자열을 포맷하는 여러 가지 방법을 지원합니다.
여기에는 %포맷팅, str.format () string.Template이 있습니다.
이 방법들은 각각 장점이 있지만, 그 외에도 실전에서 사용하기 번거로워지는 단점이 있습니다.
이를 개선하기 위해 파이썬에서는 f-string 이 도입되었습니다.
f-string은 실제로 상수값이 아닌 런타임에 계산되는 값입니다.
f-string 사용법
“” 또는 ‘’ 로 감싸진 문자열 앞에 단순히 f 한글자만 추가해주면 됩니다.
아래 예시처럼요!
1 | language = "English" |
위 코드를 실행시키면 아래와 같이 출력됩니다.
I am learning English.
f-string 의 다양한 사용 예
1 | #숫자를 사용하면 계산이 된다. |
%를 사용한 포맷팅과의 비교
%를 사용한 포맷의 예제를 살펴보겠습니다.
1 | # %를 사용한 포맷 |
%를 사용한 포매팅은 변수 타입의 따라서 %d, %f, %s 등으로 구분해서 써줘야합니다.
기본적으로 %s는 문자열, %d는 정수, %f는 실수임을 명시하는 것입니다.
f string에 비교하자면, 포맷팅되어야 하는 문자열이 무엇인지를 알아야하고,
변수의 선언부와 포맷팅 스트링(%f, %s, %d등)과의 거리가 멀어, 디버깅/코딩시 보기 불편한 점이 있습니다.
{}를 사용한 포맷팅과의 비교
{}를 사용한 포맷의 예제를 살펴보겠습니다.
1 | # %를 사용한 포맷 |
%를 사용한 포맷 대비 포맷팅되어야하는 문자열을 몰라도 print를 할 수 있습니다.
그러나 여전히 변수선언부와 {}과의 거리가 멀어, 코딩/디버깅시 보기 불편한 점이 있습니다.
이렇게에 f-string을 쓰면 직관적으로 빠른 코딩/디버깅이 가능이 가능해집니다.
총평
간편하게 쓰기위한 좋은 기능인것 같습니다.
찾아보니 C#에도 있는 기능인것으로 확인하였고, Java나 javascript에서는 없는 기능인거로 보입니다.
좋은기능은 다른 언어에도 영향을 미쳐서 좋은 방향으로 발전되었으면 좋겠습니다.
f-string을 잘 모를때는 {}과 .format 을 썼었는데,
이제부터는 f-string을 자주 쓰는 습관을 들여 생산성을 높일 수 있도록 해봐야 겠습니다.
[Python] 파이썬 f-string, python f-string
#파이썬,#fstring,#string,#f-string,#python