我目前正在开发一个python项目,我关心的是性能,因为我的CPU总是使用它90-98%的计算能力
因此,我在考虑如何在代码中进行更改以加快速度,并注意到我有一个字符串变量,它总是接收两个值中的一个:
state = "ok"
state = "notOk"
由于它只有2个值,我考虑将其更改为布尔值,如:
isStateOk = True
isStateOk = False
这样做有意义吗?在将字符串赋给变量和将布尔值赋给变量的速度上是否有很大的差异,或者根本没有任何差异
我还应该提到,我在代码中使用了这个变量,比如30if comparison,那么比较的速度可能会有好处
if (state == "ok) # Original comparison
if (isStateOk) # New comparison
这不会用90-98%的CPU修复程序,但从技术上讲,使用布尔值更好
您还可以使用is instead of ==:
编辑: 无论如何,在https://hg.python.org/cpython/rev/01a7e66525c2/中,他们已经让Python解释器将
== True
转换成了is True
引擎盖下,因此无论采用哪种方式编写,性能都没有差别虽然在这里使用布尔是个好主意,因为布尔的目的是表示ok/not ok状态,但它不会带来任何明显的性能改进
相关问题 更多 >
编程相关推荐