템플릿 문자열을 사용하여 파일을 구성할 때 f-문자열의 간결함이 매우 매력적입니다. 그러나 템플릿 정의가 직접적인 코드 컨텍스트 외부에 있을 때 어려움이 발생합니다. format(**locals()) 호출의 필요성을 없애고 f-문자열 평가를 어떻게 연기할 수 있습니까?
이 딜레마를 해결하는 강력한 함수인 fstr()을 입력하세요. 작동 방식은 다음과 같습니다.
<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)) # Output: # The current name is foo # The current name is bar</code>
결정적으로, 제안된 다른 솔루션과 달리 fstr()은 다음을 허용합니다. 함수 호출 및 속성 액세스를 포함하여 템플릿 내의 더 복잡한 표현식:
<code class="python">template_b = "The current name is {name.upper() * 2}" for name in names: print(fstr(template_b)) # Output: # The current name is FOOFOO # The current name is BARBAR</code>
이 솔루션을 사용하면 평가를 효과적으로 연기할 수 있습니다. 간결하고 동적인 템플릿 처리를 위한 강력한 기능을 유지하면서 f-문자열을 사용합니다.
위 내용은 즉각적인 코드 컨텍스트를 넘어서 F-문자열 평가를 어떻게 연기할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!