search:

Python2에서 f-strings 사용하는 방법

29 Feb 2020

인터넷에 검색하면 다 나오는 내용을 왜 올리냐고 하는 사람도 있겠지만, 이건 순전히 내가 사용하기 위한 용도이다. Python을 주로 운영 도구 만들 때 잠시 사용하고, 필요한 기능이 있으면 검색 후 copy&paste하다보니 새로 알게된 기능이나 코드를 자꾸 까먹게 된다. 관리하는 소스 repository도 많아지다보니 지난 번에 넣었던 그 기능을 어느 스크립트에 넣었는지도 잊게 되어 똑같은 내용을 계속 검색하거나 급할 땐 검색할 시간도 없어서 나쁜 코드를 작성하게 된다.

그래서 종종 시간날 때 검색으로 찾아둔 Python code들을 기록으로 남겨서 나중에 찾기 쉽게하려한다.


현업에서 Spark을 주로 사용하기 때문에 개발 언어도 자연스레 Scala을 많이 쓰고 있다. Scala 언어의 장점이 여러 개가 있는데, string interpolation도 큰 장점이라 생각한다.

Python에서는 3.6부터 f-strings이라는 걸 지원하고 있다. 그 이하 버전에서는 아래와 같이하면 f-strings을 사용할 수 있다.

f-strings 설치 방법

$ pip install future-fstrings

f-strings 사용 방법

$ cat fstring.py
#-*- coding: future_fstrings -*-

name = 'Jason'

print f"my name is '{name}'"

$ python2 fstring.py
my name is 'Jason'

f-strings을 사용한 코드를 기존 형식의 코드로 변환할 수도 있다.

$ future-fstrings-show fstring.py
#-*- coding: future_fstrings -*-

name = 'Jason'

print "my name is '{}'".format((name))

이 기능을 활용하면 개발 서버에서만 f-strings을 설치하고, 배포 전에 파일을 변환해서 배포하면 된다고 한다. pip 패키지를 맘대로 설치할 수 없는 시스템에서 사용하면 좋을 듯.