Python: Variable Interpolation

Variable Interpolation 을, 우리말로 뭐라 하려나?
Interpolation 은 삽입하다, 보충하다로 풀이되고, 수학에서는 ‘보간법’이라는 용어를 쓰고 있다.
일본 용어로는 文字列補間이라고 하는 모양인데.. 아주 짧게 인터넷 검색을 해봤지만, 적절한 우리말을 찾을 수 없었다. 내가 이런 류의 국내서적을 잘 보지 않아 왔기에 더더욱 감이 잡히지 않을 수도 있고, 애초에 번역이 안되었을 수도 있다.

제타위키에 해당 항목이 있지만, 용어가 번역되어 있지는 않다. 그냥 뜻풀이만 해놓았을 뿐.

어쨌든, 이게 뭐냐 하면, 문자열 안에 변수를 넣고, 그 변수의 값을 문자열로 출력해주는 기능이다.

Bash/Perl 의 경우, 겹따옴표 안에 $variable 형태를 넣으면 문자열로 취급된다. 반드시 겹따옴표라야만 한다. 홑따옴표는 $variable 이라는 문자열로 간주하기 때문에, 원하는 결과가 나오지 않는다.

Python 은 이 기능이 없었다. 직접 제공은 하지 않았고, % 나 format 명령으로 사용할 수 밖에 없었는데, Python 3.6 부터는 prefix ‘f’ 를 사용하여 이 기능이 가능하게 되었다. (우분투 18.04 부터는 Python 3.6 을 제공하고 있다.)

print (f"중복된 항목 : {line}")           # line 은 변수

위와 같이, 앞에 f 를 주고, 겹따옴표 안에 중괄호(Curly Brackets, {}) 로 변수를 둘러싸주면 된다.

그런데.. 만약 변수에 메소드를 적용하고 싶다면? 중괄호 안에 넣어야 하나, 밖에 넣어야 하나?
실험 결과,

print (f"중복된 항목 : {line.rstrip()}")

이렇게 해야 정상작동했다.

Author: 아무도안

안녕하세요. 글 남겨주셔서 고맙습니다.