Python是一种命令式编程语言。这意味着python程序是一系列可以更改程序状态的
语句 (例如,通过将值分配给变量)。语句一旦执行,将不再对程序产生影响。换句话说:该语句可以更改程序的状态,但只能更改一次。
执行该语句时
S = sum(L[0:n]),
sum(L[0:n])将 对其求值
,并将结果分配给该变量
S。
L[0:n]的计算结果为
[1],并且的总和
[1]为1。因此,在该语句的末尾,的值为
S数字1。
您的误解是
S“记住”它等于
sum(L[0:n]),但事实并非如此。
S只是数字1。无论您更改
nor的值如何,都没有关系
L。数字1保持数字1。如果要
S更改,则必须使用另一个赋值语句
显式 更新它:
L = [1, 2, 3, 4, 5]n = 1S = sum(L[0:n])while n < 5: n += 1 S = sum(L[0:n])print(n) # output: 5print(S) # output: 15
旁注:更改
S时将自动更新的语言
n称为声明性编程语言。



