考慮到以下兩個版本的簡單函數Python,問題是哪一個比另一個更受歡迎,爲什麼?Python:函數中的額外分配
是否有哪些附加任務已使用任何額外的內存使用和或CPU使用率爲case 1
相比case 2
?
殼體1:
def f(x): y = x*x return y
殼體2:
def f(x): return x*x
從我的觀點來看,case 1
是比另一個更清晰尤其是在複雜的計算的情況下和提供許多返回的對象。另一方面,case 2
看起來非常緊湊,所以會被認爲是非常有吸引力的。由於簡單就是高效。你怎麼看?
更新:
我不知道Python中有反彙編器!當我知道我的問題的答案和檢查類似想法的方式時,這真是太棒了。特別欣賞。
from dis import dis as dasm
dasm(f)
大部分人都認爲沒關係。因此投票結束。 – 2012-01-03 00:40:48
+1簡單而有趣的問題。 – Developer 2012-01-03 06:03:50