Python 3.14 - Template Strings deep dive!
- Python 3.14에 새로 추가된 템플릿 문자열(t-string)은 기존 f-string과 유사하지만, 정적 및 보간된 부분을 분리하여 접근 가능한
template 객체를 반환하는 것이 핵심입니다. ✨
- f-string이 최종 문자열을 즉시 반환하는 것과 달리, 템플릿 문자열은
template_lib.template이라는 새로운 객체를 반환하여 문자열이 결합되기 전에 각 부분에 대한 접근을 허용합니다. ↔️
template 객체는 이터러블하며, .values, .strings, .interpolations와 같은 속성을 통해 보간된 값, 원시 문자열, 보간 객체에 개별적으로 접근하고 처리할 수 있습니다. 🧩
- 템플릿 문자열은 '프로그래밍 가능한 문자열 보간'을 제공하여, 사용자 정의 함수를 통해 보간된 부분을 변형, 정제, 또는 특정 로직에 따라 처리할 수 있는 유연성을 부여합니다. ⚙️
- PEP 예시의
lower_upper 함수처럼, 템플릿의 각 부분을 순회하며 보간된 값은 대문자로, 원시 문자열은 소문자로 변환하는 등 유형에 따라 다른 처리를 적용할 수 있습니다. 🔤
- 사용자 입력 처리 시 SQL 인젝션과 같은 보안 취약점을 방지하는 데 매우 유용하며, 템플릿 문자열을 통해 입력 값을 안전하게 처리할 수 있습니다. 🛡️
render_SQL 함수 예시에서는 보간된 값을 ?와 같은 매개변수화된 플레이스홀더로 대체하고 실제 값은 별도로 수집하여, 데이터베이스 드라이버를 통해 안전하게 쿼리를 실행함으로써 SQL 인젝션을 방지하는 방법을 시연합니다. 🔒
- HTML, SQL 등 다양한 출력 형식에서 사용자 입력을 안전하게 처리하고 필요에 따라 변환 및 정제하는 데 템플릿 문자열이 강력한 도구로 활용될 수 있습니다. ✍️