【发布时间】:2026-01-22 01:25:01
【问题描述】:
在我的程序中,我多次出现这种模式:
if some_bool:
print(f"some {difficult()} string")
我想过为此创建一个函数:
def print_cond(a_bool, a_string):
if a_bool:
print(a_string)
print_cond(some_bool, f"some {difficult()} string")
但是这样做的结果是总是计算第二个参数,即使 some_bool == False。有没有办法将 f 字符串的评估延迟到它实际打印的点?
【问题讨论】:
标签: python function lazy-evaluation