Skip to main content
 首页 » 编程设计

python之只检查循环语句一次

2025年05月04日13freeliver54

假设我有以下简单代码:

useText = True 
 
for i in range(20): 
    if useText: 
        print("The square is "+ str(i**2)) 
    else: 
        print(i**2) 

我使用变量 useText 来控制打印方 block 的方式。它在运行循环时不会改变,所以每次循环运行时检查它对我来说似乎效率低下。有没有办法在循环之前只检查 useText 一次,然后始终根据该结果打印出来?

这个问题经常出现在我身上。在这种简单的情况下当然没关系,但我可以想象这会导致更复杂情况下的性能下降。

请您参考如下方法:

useText 在这里完成的唯一区别是格式化字符串。所以把它移出循环。

fs = '{}' 
if useText: 
    fs = "The square is {}" 
 
for i in range(20): 
    print(fs.format(i**2)) 

(这假设 useText 在循环期间不会改变!在多线程程序中这可能不是真的。)