【发布时间】:2011-02-02 02:31:39
【问题描述】:
一位朋友(低技能水平的休闲 Python 脚本编写者)让我查看一些代码。我注意到他有 7 个单独的陈述,基本上都说了。
if ( a and b and c):
do something
语句 a,b,c 都测试了它们是否相等或缺少设置值。当我查看它时,我发现由于测试的性质,我可以将整个逻辑块重写为 2 个分支,这些分支从未超过 3 个深度并且很少超过第一级(使最罕见的发生测试首先)。
if a:
if b:
if c:
else:
if c:
else:
if b:
if c:
else:
if c:
对我来说,从逻辑上讲,如果您进行更少、更简单的测试,这些测试会更快地失败并继续前进。 我真正的问题是
1) 当我说 if 和 else 时,如果 if 为真,那么 else 会被完全忽略吗?
2) 理论上会
如果(a和b和c)
花费与三个单独的 if 语句一样多的时间?
【问题讨论】:
标签: python performance