파이썬에 f string이 있습니다. 이 중 {는 replacement field라고 해서 특수한 문자로 취급합니다. 이것을 일반 문자처럼 취급하려면 어떻게 해야하는지 간단하게 알아보고 실습도 해 보겠습니다.

 

 


먼저 f string이 아닌 문자열입니다. 앞에 f가 붙지 않았어요. 그러면 {과 } 등은 일반 문자로 취급됩니다.

 

 a{b}cde가 출력됨을 알 수 있어요.

 

그런데, 앞에 f가 붙었어요. 그 안에 {와 }가 있는데요. 이렇게 되면 replace가 되어 버려요. f"a{b}cde"는, {b} 대신에 b의 값이 들어가 버립니다. 그래서, 이 프로그램의 실제 결과는 a3cde가 출력되게 됩니다.

 

 실행 결과는 위와 같습니다.

 

 그러면 f string에서 {와 }를 일반 문자처럼 취급하려면 어떻게 해야 할까요? 즉, escape를 하고 싶습니다. 그럴려면 {의 경우 앞에 {를, }의 경우 앞에 }를 붙이면 됩니다. 즉 f-string에서 {{는 일반 문자 {를, }}는 일반 문자 }를 의미합니다.

 

 실행 결과는 위와 같습니다.

 


 이런 경우에는 어떻게 해야 할까요? 일일히 { 앞에 {를 붙여주고, } 앞에 }를 붙여야 할까요? replacement 필드가 없다면 그냥 " 앞에 있는 {를 빼도 됩니다만, 그렇지 않다면 상당히 까다로울 수 있습니다. pycharm에서는 {를 {{로, }를 }}로 바꿀 문자열 전체를 선택하고 ctrl+R을 누르면 됩니다.

 

 이제, ctrl+R을 다시 누르겠습니다. 그러면, 내가 선택한 영역에 대해서만 찾게 됩니다.

 

 {를 찾아서 {{로 바꿔 볼까요? Replacement에 요래 입력하고, Replace All을 누르겠습니다.

 

 다음에 }를 찾아서 }}로 바꿉니다. 역시 Replace All을 눌러주면 됩니다.

 

 실행 결과는 위와 같습니다. 이제 s1과 s2를 출력해 보겠습니다.

 

두 문자열이 서로 같음을 알 수 있습니다.