【发布时间】:2020-06-22 22:06:57
【问题描述】:
我一直在寻找这个问题的现有答案,虽然我遇到了专门针对 C# 的 this answer,但这是编译器级别的事情,所以我预计 Python 可能会有所不同。
看看这两种终止函数的方式。第一个与 else:
if condition:
return some_val
else:
return some_other_val
然后一个没有它:
if condition:
return some_val
return some_other_val
从逻辑上讲,两者做的事情完全相同,即使condition 有副作用。他们测试condition,然后返回一个值。
Python 3 是否有可能对另一个进行优化?
【问题讨论】:
-
iPython 中的操作员
%timeit会比任何人的猜测更好地回答您的问题。 (提示:声明 withoutelse似乎有点慢。) -
@DYZ iPython 的性能会不会有所不同?
-
IPython 是 Python 的接口。为什么会这样?
-
@DYZ repl 并不总是执行相同的编译时优化(解释时?它被编译为字节码,所以我们可以安全地说编译时)
标签: python python-3.x if-statement return conditional-statements