파이썬에 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를 출력해 보겠습니다.
두 문자열이 서로 같음을 알 수 있습니다.
'코딩 > 파이선' 카테고리의 다른 글
파이썬 tempfile의 임시 디렉터리 위치와 바꾸는 방법을 알아봅시다. (0) | 2023.04.30 |
---|---|
python convert value to enum과 name to enum을 하는 방법을 알아봅시다. (0) | 2023.04.08 |
파이썬 max min 사용법과 default key 인자를 알아봅시다. (0) | 2023.03.30 |
pytest coverage omit 옵션으로 report에 특정 파일의 결과를 제외해 봅시다. (0) | 2023.03.28 |
파이썬 pytest stdout print 콘솔에 출력되게 해 봅시다. (0) | 2023.03.25 |
최근댓글