>백엔드 개발 >파이썬 튜토리얼 >정적 템플릿에 대해 Python에서 F-문자열 평가를 연기하는 방법은 무엇입니까?

정적 템플릿에 대해 Python에서 F-문자열 평가를 연기하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-30 09:08:03520검색

How to Defer F-String Evaluation in Python for Static Templates?

요청 시 F-문자열 해석

Python에서 f-문자열은 문자열 보간을 위한 편리한 구문을 제공합니다. 그러나 외부 소스에서 읽거나 코드의 다른 곳에서 정의된 정적 템플릿으로 작업할 때는 이러한 문자열의 평가를 지연하는 것이 바람직할 수 있습니다.

F-문자열 평가 연기

필요를 피하려면 정적 템플릿을 사용할 때 .format(**locals()) 호출의 경우 Python 함수를 활용할 수 있습니다. 다음과 같이 정의된 fstr 함수를 사용하면 문자열을 f-문자열로 평가할 수 있습니다.

<code class="python">def fstr(template):
    return eval(f'f&quot;&quot;&quot;{template}&quot;&quot;&quot;')</code>

사용 예

fstr을 사용하면 변수에 정의된 정적 템플릿을 사용할 수 있습니다. 또는 파일에서 읽고 값을 삽입합니다. 다음 예를 고려하십시오.

<code class="python">template_a = "The current name is {name}"
names = ["foo", "bar"]

for name in names:
    print(fstr(template_a))  # Evaluates the template with the current 'name'</code>

출력:

The current name is foo
The current name is bar

템플릿은 런타임에 평가되므로 이름과 같은 중괄호 안에 복잡한 표현식을 사용할 수도 있습니다. 다음 예에서는 upper() * 2:

<code class="python">template_b = "The current name is {name.upper() * 2}"

for name in names:
    print(fstr(template_b))</code>

출력:

The current name is FOOFOO
The current name is BARBAR

위 내용은 정적 템플릿에 대해 Python에서 F-문자열 평가를 연기하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.