【发布时间】:2019-07-27 17:25:09
【问题描述】:
我们知道,对于一个操作,我们可以编写如下代码:
a = [1, 2, 3]
b = 2
c = sum(a)
result = c**b
或者它可以在一行中计算result:
a = [1, 2, 3]
b = 2
result = sum(a)**b
在第一种情况下,sum(a) 被计算,并以变量名称 c 放置在内存中,并被检索用于计算 result。在后一种情况下,python 解释器是为sum(a) 创建一个临时变量还是在幕后发生了其他事情?
【问题讨论】:
-
调用 sum(a) 时有一个默认值 0 将由 sum 函数定义,因此实际上您正在调用 sum(a,0),因此 python 会将 0 放入内存中将 a 中的每个项目添加到其中。希望有帮助
-
@basilisk。感谢您的评论。我确实是指在后一种情况下
sum(a)的存储方式和位置。