def a(x):
if x != 'val':
pass
def b(x):
if not x == 'val':
pass
def c(x):
if x == 'val':
pass
else:
pass
x = 1
for i in range(10000000):
a(x)
b(x)
c(x)
和cProfile分析器的结果:
所以我们可以看到在if not x == 'val':和if x != 'val':之间有一个非常微小的~0.7%的差异。其中,if x != 'val':是最快的。
然而,最令人惊讶的是,我们可以看到
if x == 'val':
pass
else:
实际上是最快的,比if x != 'val':快0.3%。这不是很好读,但我想如果您想要微不足道的性能改进,可以采用这种方法。