요즘IT
위시켓
새로 나온
인기요즘 작가들컬렉션
물어봐
새로 나온
인기
요즘 작가들
컬렉션
물어봐
개발
AI
IT서비스
기획
디자인
비즈니스
프로덕트
커리어
트렌드
스타트업
서비스 전체보기
위시켓요즘IT
고객 문의
02-6925-4867
10:00-18:00주말·공휴일 제외
[email protected]
요즘IT
요즘IT 소개작가 지원
기타 문의
콘텐츠 제안하기광고 상품 보기
요즘IT 슬랙봇크롬 확장 프로그램
이용약관
개인정보 처리방침
청소년보호정책
㈜위시켓
대표이사 : 박우범
서울특별시 강남구 테헤란로 211 3층 ㈜위시켓
사업자등록번호 : 209-81-57303
통신판매업신고 : 제2018-서울강남-02337 호
직업정보제공사업 신고번호 : J1200020180019
제호 : 요즘IT
발행인 : 박우범
편집인 : 노희선
청소년보호책임자 : 박우범
인터넷신문등록번호 : 서울,아54129
등록일 : 2022년 01월 23일
발행일 : 2021년 01월 10일
© 2013 Wishket Corp.
로그인
요즘IT 소개
콘텐츠 제안하기
광고 상품 보기
개발

파이썬 3.14, 템플릿 문자열(t-string) 미리 보기

애옹킴
14분
8시간 전
2.3K

파이썬(Python)은 많은 개발자의 사랑을 받는 프로그래밍 언어인데요. 1991년 출시 이후로 릴리즈를 통해 꾸준히 새로운 기능을 추가하거나, 이전 기능을 더 효율적으로 작동하도록 업데이트하는 등 연 2회 정도 유지 보수를 하고 있습니다. 이번 글에서는 올해 하반기(2025년 10월)에 배포 예정인 3.14 버전에서 새로 추가된 템플릿 문자열(t-string, template string)에 대해 미리 알아보려고 합니다.

 

<출처: Dave peck’s blog>

 

먼저 파이썬은 왜 템플릿 문자열 기능을 추가하게 되었을까요? 이 배경을 이해하기 위해서는 먼저 PEP라는 개념을 알 필요가 있습니다. 상업용 프로그램을 포함하여 일반적인 소프트웨어들은 프로그램의 소유자, 혹은 소프트웨어의 권한을 가진 집단의 의사결정권자에 의해 업데이트 방향이 결정됩니다. 

 

그렇지만 오픈소스 라이센스를 채택하고 있는 파이썬에서는 특별한 방식을 사용합니다. 앞선 이미지에서도 템플릿 문자열 기능 추가를 설명하면서 ‘officially accepted’라는 문장을 사용하고 있는데, 이렇게 소프트웨어에 특정 기능이 ‘제안으로’ 추가 되는 배경에 대해 먼저 알아볼게요.

 

PEP: Python Enhancement Proposals

PEP는 ‘Python Enhancement Proposals’의 줄임말로, 직역하면 ‘파이썬 개선 제안서’라는 의미가 있습니다. 이 문서들은 파이썬을 사용하는 커뮤니티를 대상으로, 파이썬에 대한 정보를 제공하는 목적의 디자인 문서(design document)입니다. 또한 이 문서들은 정보 제공 외에도 파이썬 커뮤니티에서 진행되는 논의와 기록, 을 투명하게 기록하고, 공개하기 위한 역할도 합니다. *심지어 이 PEP에 관한 내용 설명도 PEP 1이라는 문서에 작성되어 있습니다. 

 

<출처: Python Enhancement Proposals>

 

PEP에서는 PEP 1, PEP 2, PEP 787과 같이 자연수 번호를 문서의 인덱스로써 활용하는데 이 인덱스는 대체로 PEP가 작성되는 쓰인 순서를 반영하지만, 거버넌스(governance), 패키징(packaging), 릴리스(release), 타입(typing)과 같은 특별한 내용을 다루는 PEP들은 별도의 인덱스 체계를 갖습니다.

 

이어서 PEP는 크게 메타데이터(metadata)와 본문이라는 내용으로 구성을 나누어 볼 수 있습니다. 메타데이터는 제목(title), 작성자(author)와 같이 문서 자체를 설명하는 내용이고, 본문에는 내용 요약(abstract), PEP의 내용을 제안하게 되는 배경인 동기(motivation), 구체적인 내용을 포함하는 명세(specification) 외에도, 신규 및 기존 사용자에게 이 PEP의 내용을 어떻게 교육할 수 있을지에 대한 사용법 교육(how to teach this)과 같은 내용들이 포함됩니다. 

 

물론 이 구성은 새로운 문서 작성을 쉽게 할 수 있도록 돕는 예시 템플릿으로, 반드시 따라야 하는 것은 아니기에 PEP마다 조금씩 구성이 다릅니다. *이 템플릿 문서는 PEP 12에 정의되어 있습니다.

 

<출처: Python Enhancement Proposals>

 

다시 원점으로 돌아와서, 템플릿 문자열을 제안한 내용은 PEP 750: Template strings라는 문서에서 다뤄지고 있습니다. 이제 이 내용을 기반으로 템플릿 문자열은 무엇이고, 어떤 배경에서 추가 되었는지, 어떤 사례들이 있는지 다뤄보겠습니다.

 

 

PEP 498: Literal String Interpolation

PEP 750은 사용자 정의 문자열 처리를 위한 템플릿 문자열 기능을 소개합니다. 이는 서식 문자열(formatted string, f-string)의 일반화된 버전으로, 이전에 쓰이던 f- 접두사 대신 t-라는 접두사를 사용합니다. 조금 더 구체적으로 템플릿 문자열에서는 문자열을 문자열(string)이 아닌 템플릿이라는 새로운 타입(type)으로 평가합니다. 

 

예시로는 template: Template = t”Hello {name}” 처럼 사용할 수 있는데 이를 통해 개발자는 문자열과 { }로 감싸진 보간된(interpolated) 값을 문자열과 결합하기 이전에 액세스할 수 있습니다. 문자열 보간 또는 문자열 포매팅은 문자열 안에 변수나 표현식의 값을 넣는 방법을 의미합니다. 쉽게 말해 문자열 중간에 다른 값을 프로그래밍적으로 넣어주는 방식이라고 할 수 있습니다. 

 

서식 문자열은 PEP 498, PEP 701에서 다뤄진 내용으로, 쉽고 효과적으로 문자열을 다루기 위한 방법입니다. 

 

문자열 포매팅

파이썬에서 여러 마리의 고양이의 이름과 나이를 출력하는 간단한 예시를 생각해 보겠습니다. 이를 위해 사용할 수 있는 가장 단순한 방법은 여러 고양이의 이름과 나이를 문자열에 그대로 넣어 출력하는 방법입니다.

 

<출처: 작가>

 

이렇게 문자열 포매팅을 사용하지 않는 하드코딩 방법은 몇 가지 문제를 가지고 있습니다. 

 

  1. 코드의 재사용성 저하: 매년 새해에 고양이의 나이가 증가하는 경우처럼, 변수나 값이 바뀔 때마다 문자열이 사용되는 여러 위치의 코드를 매번 고쳐서 사용해야 합니다.
  2. 유지보수의 어려움: 값이 여러 위치에 하드코딩되어 있으면, 값을 업데이트하거나 코드를 바꾸는 과정에서 빠뜨리거나 잘못된 값으로 수정하여 코드의 원래 목적과 다른 버그가 발생할 수 있습니다.
  3. 확장성의 부족: 새로운 고양이를 추가하는 경우처럼, 다양한 값을 넣거나 여러 개의 메시지를 만들 때 매번 코드를 새롭게 작성해야 해서 반복이 많아지고 그만큼 전체 코드가 길어집니다.

 

이 외에도 외국어로 고양이 이름을 보여주는 경우처럼 국제화/다국어 처리의 어려움, 디버깅과 로깅의 불편함, 특정 상황에서의 보안 취약점과 같은 문제도 발생하게 됩니다.

 

이러한 문제들로 인해 파이썬에서는 하드코딩이 아닌 문자열 포매팅을 사용하기 위해서 format() 함수와 % 포매팅 방식을 사용할 수 있고, 각각의 예시는 다음과 같습니다. 

 

<출처: 작가>

 

먼저 C 언어의 문자열 사용 방법과 유사한 % 포매팅 방식은, 하드 코딩에 비해서는 효율적이지만 문자열에서 사용하는 자료형의 종류(예를 들어 정수는 %d, 실수는 %f, 문자열은 %s와 같이)를 명확한 형식으로 지정해야만 한다는 번거로움이 있습니다.

 

<출처: 작가>

 

이어서 format 함수를 사용하는 방법은 문자열에 중괄호( {  } )와 변수를 사용합니다. 이때 문자열에 사용하는 변수의 자료형 종류를 명시하지 않아도 된다는 점에서 % 포매팅보다 편리해졌습니다. 대신 앞서 % 에서는 명시해야 했던 자료형 종류를 추측하는 과정이 추가되면서, % 포매팅에 비해 성능적으로 약간 느리다는 특징이 있습니다.

 

<출처: 작가>

 

마지막으로 PEP 498에서 소개된 서식 문자열 방법은 format 함수나 %라는 표현을 사용하지 않고, f- 접두사만으로 바로 변수를 사용하기 때문에 다른 문자열 포매팅 방법에 비해 가독성과 사용성에서 큰 장점을 가지고 있습니다. 

 

또한 서식 문자열 방법은 변수의 내용을 연산하지 않고, 바로 사용하기 때문에 중괄호 안에 계산식이나 함수, 메서드를 바로 사용할 수 있을 뿐 아니라 성능에서도 유리하다는 장점이 있습니다. 예시 코드에서는 0.2초 정도 (약 50%) 정도의 속도 차이가 있는 만큼, 퍼포먼스가 중요한 환경에서는 큰 차이를 보일 수 있습니다.

 

<출처: 작가>

 

이처럼 서식 문자열은 문자열 포매팅을 위한 방법 중 가독성도 좋고, 표현식 사용도 편리하고, 코드가 짧고 빠른 ‘만병통치제’의 역할을 해서, 많은 경우에서 사용되었습니다. (심지어 사용하면 안 되는 경우에도 말이죠!)

 

 

Motivation: f-string의 한계

이처럼 좋아 보이던 서식 문자열에도 한계점은 있었는데요, 이를 위해 사용자로부터 계정명을 입력받아 데이터베이스에서 조회하고 결과를 출력하는 일상적인 사례를 예로 들어보겠습니다. 이를 위해 query = f”SELECT * FROM users WHERE name = ‘{user_name}’” 이라는 코드를 사용할 수 있습니다. 그런데 만약 사용자가 user_name을 아래와 같이 “ ‘ or 1 = 1 –”로 사용한다면 어떻게 될까요? 

 

<출처: 작가>

 

SQL에 익숙한 사람들은 금방 이해할 수 있겠지만, 위 쿼리의 결과는 OR 1 = 1 부분으로 인해 항상 참이 되어, users 테이블의 모든 레코드를 가져오게 됩니다. 즉 서식 문자열만으로는 사용자가 데이터베이스의 내용 전체를 가져오는 것을 막기 어려울 수 있다는 것이죠. 비슷한 예시로는 데이터베이스를 조회하는 것이 아니라, 아예 삭제시키는 것으로 서비스에 치명적인 영향을 줄 수도 있습니다. (물론 대부분의 서비스에서는 이를 방지하기 위한 기능을 적용하고 있습니다.)

 

<출처: 작가>

 

이는 SQL 인젝션이라는 문제로 물론 이를 방어하는 방법도 있지만, 예시에서 언급하고자 하는 핵심은 서식 문자열 방법이 완전무결한 방법은 아니라는 겁니다. (*SQL 인젝션 외에도 크로스 사이트 스크립팅(Cross-site scripting, XSS) 같은 문제 또한 유발할 수 있습니다.)

 

 

PEP 750: Template Strings

앞서 잠깐 언급했던 것처럼 템플릿 문자열은 서식 문자열을 더 일반화(generalization)한 기능입니다. 이 두 방법의 핵심 차이는 서식 문자열의 결과는 바로 문자열이 되었지만, 템플릿 문자열은 문자열이 아닌 템플릿이라는 새로운 타입(string.templatelib.Template)으로써 취급된다는 점입니다.

 

이 차이로 인해 my_template라는 템플릿 변수에 str() 함수를 사용해, 문자열로 취급해 새로운 함수를 사용하려고 해도 템플릿 변수는 문자열이 아닌 템플릿이라는 타입을 사용하는 만큼, str() 함수가 적용되지 않아 유의미한 값을 얻을 수 없습니다. 이를 위해서는 템플릿 변수를 대상으로, str() 함수와 유사한 역할을 하는 커스텀 함수를 사용자가 직접 혹은 라이브러리에서 제공하는 함수를 사용해 변환해야만 합니다.

 

이어지는 코드는 XSS의 예시로 서식 문자열과 템플릿 문자열을 사용하는 예시입니다. *Python 3.14는 아직 공개되지 않았기에 일반적인 방법으로는 템플릿 문자열 기능을 사용할 수 없습니다.

 

<출처: 작가>

 

먼저 사용자로부터 사용자 이름을 입력받아 <p> 태그로 감싸서 보여주는 역할을 하는 경우, 서식 문자열을 사용한다면 <script> 태그를 이용해 예시에서는 단순히 evil이라는 문자열을 띄우는 정도였지만 이 이상의 의도치 않은 액션을 유발할 수 있습니다.

 

그러나 템플릿 문자열 html()이라는 문자열을 이스케이프(escape) 처리해 주는 추가 함수를 사용하기 전까지는 사용할 수 없으므로 문제가 발생하지 않습니다. 이스케이프 처리(escape processing)는 프로그래밍이나 데이터 처리에서 특수한 문자들이 원래 의도된 대로 처리되지 않거나, 충돌을 일으키는 상황을 방지하기 위해 사용하는 기법입니다. 주로 문자열 내에서 특정 문자가 특별한 의미를 갖지 않도록 '변환'해서 처리합니다.

 

템플릿 문자열에서는 커스텀 함수의 사용 외에도 딕셔너리와 같은 기능도 활용하여, 템플릿 문자열을 더 유연하게 활용할 수 있습니다. 

 

<출처: 작가>

 

이 템플릿 문자열은 기존에 문자열 포매팅 방법으로 사용되던 서식 문자열의 내용을 그대로 지원합니다. 이 내용은 서식 문자열을 제한 없이 파이썬 파서에서 처리할 수 있도록 하는 내용인데요. 즉, 템플릿 문자열은 서식 문자열을 계승한다고 볼 수 있습니다.

 

이 외에 크게 중요하진 않지만, 템플릿 문자열 앞에 쓰이는 접두사는 소문자 t-와 대문자 T- 방법 모두 사용할 수 있고, 서식 문자열도 그러했던 것처럼 u- (유니코드) 와 b- (바이트) 접두사, 그리고 서식 문자열을 의미하는 f- 와는 함께 사용할 수 없습니다.

 

 

템플릿 문자열 더 알아보기

이어지는 내용들은 템플릿 문자열을 사용하는 주요 방법들입니다.

 

1. 템플릿 문자열은 다음과 같이 선언할 수 있습니다. 여기서 템플릿 문자열은 미리 정의되어 있는 strings와 외부에서 추가되어 보간에 쓰이는 interpolations로 구분됩니다. 이 interpolations는 조금 더 구체적으로 value와 expression으로 구분됩니다. value는 실제로 템플릿 문자열에 들어오는 값, expression은 이를 표현하는 변수 이름으로, 대부분 expression은 디버그 목적 외에는 사용할 일이 없다고 볼 수 있습니다.

 

<출처: 작가>

 

 

2. 이어서 interpolations에는 conversion이라는 항목도 존재합니다. 이는 서식 문자열에서도 사용할 수 있던 입력되는 문자열을 어떻게 변환할 것인지 지정하는 옵션으로 repr를 의미하는 r, str를 의미하는 s, ascii를 의미하는 a를 활용할 수 있습니다.

 

<출처: 작가>

 

3. 문자열의 출력 형식을 조절하는 format_spec도 동일하게 interpolations 내부에서 사용할 수 있습니다. format_spec은 그 값을 직접 설정하기보단 중괄호 안에서 선언하는 방식이 더 편리합니다.

 

<출처: 작가>

 

4. 템플릿 문자열의 렌더링 함수(앞선 예시의 html() 함수)는 템플릿 타입의 변수를 입력받아, 임의의 처리를 하도록 선언할 수 있습니다. 이어지는 예시에서는 템플릿 문자열을 입력받아 템플릿 문자열 내부의 value를 str() 함수와 upper() 함수를 사용해 문자열을 의도대로 렌더링합니다.

 

<출처: 작가>

 

5. 템플릿 문자열은 문자열처럼 + 를 사용할 수 있습니다. 이때 템플릿 문자열과 문자열을 더하는 것 외에도 템플릿 문자열과 템플릿 문자열을 더하는 것도 가능합니다. 물론 + 를 사용하지 않고 합치는 방법이나, __add__() 함수와 __radd__() 함수의 사용도 가능합니다.

 

<출처: 작가>

 

6. 템플릿 문자열 오브젝트 간의 동일 여부는 어떻게 확인할까요? 이에 대해서는 엄격한 규칙을 파이썬에서 지정하지 않아 반환되는 문자열이나, 다른 타입 간의 동일 여부를 확인하는 커스텀 함수를 사용할 수 있습니다. 이유는 interpolations에서 가질 수 있는 값에 제한이 없고, 종류가 다르기 때문입니다. 비슷한 이유로 템플릿 문자열 간에는 순서(ordering)를 지원하지 않으므로, 커스텀 함수를 구현하여 사용합니다.

 

7. 템플릿 문자열에서 디버그 지정자 (debug specifier)는 서식 문자열에서와 같이 사용할 수 있습니다. 조금 더 구체적으로는 템플릿 문자열에서는 repl() 변환을 자동으로 사용합니다.

 

<출처: 작가>

 

8. 마지막으로 템플릿 문자열에서는 r-접두사를 t- 접두사와 함께 사용해서 원시 문자열(raw template strings)을 사용할 수 있습니다. 이어지는 예시에서 \n은 r-접두사를 사용하여, \nextline을 의미하는 단어가 아닌 \ 와 n 총 2개의 글자로 취급됩니다. 접두사 간 순서는 상관없어 rt- 과 tr- 모두 사용할 수 있습니다.

 

<출처: 작가>

 

이 외에 템플릿 문자열을 위해 templatelib라는 서브 모듈을 새롭게 사용한다는 것 외에는 거의 모든 내용이 이전 서식 문자열의 작동 방식과 동일하기 때문에 이를 참고하면 좋습니다.

 

 

템플릿 문자열 처리 방법

템플릿 문자열을 처리한다는 것은 템플릿 문자열 내부의 문자열과 보간되는 값을 최종 문자열로 계산하기 전에 접근하여 사용하는 것을 의미합니다. 이를 위해 먼저 .strings와 .values를 사용하여 튜플 자료형을 얻을 수 있습니다.

 

<출처: 작가>

 

또한 템플릿 문자열에는 리스트(list)를 사용하여, 문자열과 보간 값을 구분하지 않고 접근할 수도 있습니다. 

 

<출처: 작가>

 

템플릿 문자열의 간단한 표현 방법이 헷갈린다면, t- 접두사를 사용하지 않고 Template를 사용해 템플릿 문자열을 구성하는 내용을 명시하여 인스턴스화할 수도 있습니다.

 

<출처: 작가>

 

 

템플릿 문자열 사용 예시

이어서 PEP 750의 저자 중 한 명인 Dave Peck이 소개한 간단한 사용 사례를 다뤄보겠습니다. 템플릿 문자열을 이용해 피그 라틴(pig latin) 언어로 변경하는 예시 코드입니다. 여기서 피그 라틴이란 영어 단어를 변형하는 규칙으로, 단어가 모음 (a, e, i, o, u)로 시작하면 단어 끝에 “yay”를 추가하고, 반대로 자음으로 시작하면 첫 글자를 맨 뒤로 보내고 “ay”를 붙이는 방법입니다. 이제 pig_latin 함수를 천천히 살펴보겠습니다.

 

<출처: 작가>

 

<출처: 작가,carbon을 이용해 편집>

 

  • 먼저 L4에서는 입력받은 template에 대해 item(아이템)으로 반복을 실행합니다. 여기서 아이템이 str 인스턴스, 즉 문자열이라면 result에 아이템을 추가합니다. (L5-L6)
  • 만약 문자열이 아니라면, 즉 interpolation이라면 (L7) 아이템의 value를 word로 사용하고, (L8)
  • 모음과 자음을 구분하여 yay를 붙이거나, 첫 글자를 뒤로 보낸 뒤 ay를 붙입니다. (L10, L12)

 

이 함수에는 두 가지 핵심 부분이 있습니다. 먼저 L5에서 템플릿 문자열을 구성하는 아이템이 문자열인지 보간 값인지를 구분하는 것과, L8에서 보간 값이라면 .value를 사용해 접근하고 처리하는 과정이죠. 이 외의 문자열을 다루는 부분은 템플릿 문자열이 아닌 서식 문자열이나 기존 다른 문자열 처리 방법과 크게 다르지 않습니다.

 

<출처: 작가>

 

 

Format을 넘어 Template으로

결론적으로, 템플릿 문자열이 기존의 서식 문자열과 뚜렷하게 구분되는 핵심은 {name}과 같이 입력된 값으로 문자열을 즉시 평가해 결과를 생성하는지, 아니면 별도의 렌더링 단계를 거쳐 실제 문자열로 변환하는지에 있습니다. 템플릿 문자열은 이러한 지연 평가를 통해, 단순한 값 치환을 넘어 입력값을 처리하고 검증할 추가적인 기회를 제공합니다. *자바스크립트를 사용한다면 템플릿 문자열은 tagged template의 파이썬 버전으로 이해할 수 있습니다.

 

<출처: 작가, GPT로 생성>

 

이는 결과적으로 더 안전하고, 앞서 다뤘던 SQL 인젝션이나 XSS 등의 다양한 보안 요구나 도메인 특화 요구에 맞춰, 파이썬에서의 문자열 사용을 유연하게 확장할 방법을 제시해 준다는 점에서 큰 의의가 있습니다. 이러한 접근 방식이 PEP 750의 저자를 비롯한 파이썬 커뮤니티가 ‘템플릿 문자열’을 향후 라이브러리와 프레임워크의 문자열 처리 표준으로 자리 잡기를 바라는 중요한 이유이기도 합니다.

 

하지만 템플릿 문자열이 모든 상황에서 완벽한 해법이라고 보기는 아직 이릅니다. 

 

  • 우선 서식 문자열과 달리 문자열이 곧바로 생성되지 않기 때문에, 개발자는 반드시 별도의 렌더링 또는 변환 함수를 거쳐야만 최종 문자열을 얻을 수 있습니다.
  • 이에 따라 사용과 코드 이해가 다소 복잡해질 수 있고, 템플릿 구조와 렌더링 과정을 함께 이해해야 하는 추가적인 학습 부담도 발생합니다.
  • 기존 코드를 템플릿 문자열로 옮기기 위해서는 호환성 확보, 마이그레이션 등의 별도 작업이 필요합니다.
  • 아직 도입 초기 단계인 만큼 런타임 성능(performance)에 대한 충분한 실증도 더 필요합니다.
  • Template 객체의 특성상 IDE의 코드 자동완성, 정적 타입 검사, 하이라이팅 등의 도구 지원도 당분간은 제한적일 가능성이 큽니다.
  • 또한 서식 문자열 방법에서 문자열을 미리 계산하는 것으로 인한 위험을 이미 각 라이브러리의 사용자들이 자체적으로 어느 정도 해결하고 있던 상황에서, 파이썬 언어 단위의 불필요할 수 있는 템플릿 문자열의 도입을 우려하는 목소리도 있습니다.

 

무엇보다 명확한, 그리고 가급적이면 유일한 명백한 방법이 있을 것이다. (There should be one-- and preferably only one --obvious way to do it.)라는 파이썬의 원칙에도 문자열 포매팅을 위해 %, format, 서식 문자열, 템플릿 문자열까지 여러 방법을 제한하는 것은 조금 거리가 있죠. *아, 이것도 PEP 20에 있습니다.

 

<출처: 작가, GPT로 생성>

 

이처럼 템플릿 문자열은 여러 가지 장점과 함께 실제 개발 및 운용 환경에서 개선 과제도 분명히 존재합니다. 그렇지만 파이썬 커뮤니티에서는 이미 다양한 분야에서 템플릿 문자열의 가능성을 적극적으로 실험하고 있습니다. 예를 들어, 지난 4월 논의가 시작된PEP 787에서는 subprocess 모듈에서 템플릿 문자열 지원을 추가하는 방안이 논의되고 있는데요. 이처럼 파이썬 표준 라이브러리 차원에서의 실제 적용 가능성까지 적극적으로 검토되고 있습니다.

 

향후 템플릿 문자열이 얼마나 빠르게, 그리고 넓게 확산할지는 더 지켜볼 필요가 있습니다. 앞서 그린 이미지들처럼 템플릿 문자열이 안전한 문자열 처리를 위한 보안 검색대가 될지, 불필요하고 과하게 느껴지는 안전 도구가 될지는 앞으로 계속 지켜봐야겠죠. 하지만 입력값을 더 안전하게 다루고, 유연하게 확장할 수 있는 새로운 패러다임으로서 템플릿 문자열이 파이썬 개발자들에게 중요한 도구가 될 가능성은 충분합니다. 앞으로의 진화와 표준화 과정에서, 템플릿 문자열의 실질적 가치와 한계가 더욱 명확히 드러날 것으로 기대됩니다.


<참고>

  • Python’s new t-strings
  • PEP 750

 

©️요즘IT의 모든 콘텐츠는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.

에디터가 직접 고른 실무 인사이트 매주 목요일에 만나요.
newsletter_profile0명 뉴스레터 구독 중