Python에서 f-문자열은 문자열 보간을 위한 편리한 구문을 제공합니다. 그러나 외부 소스에서 읽거나 코드의 다른 곳에서 정의된 정적 템플릿으로 작업할 때는 이러한 문자열의 평가를 지연하는 것이 바람직할 수 있습니다.
필요를 피하려면 정적 템플릿을 사용할 때 .format(**locals()) 호출의 경우 Python 함수를 활용할 수 있습니다. 다음과 같이 정의된 fstr 함수를 사용하면 문자열을 f-문자열로 평가할 수 있습니다.
<code class="python">def fstr(template): return eval(f'f"""{template}"""')</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 중국어 웹사이트의 기타 관련 기사를 참조하세요!