Python声明变量vs不声明

问题描述:

我有两个不同的代码块Python声明变量vs不声明

我试图总结数据集中的所有变量。

第二个代码块有效,而第一个代码块给了我'错误'的答案。我猜这是因为我在给它一个值之前使用了变量'total'。

我在想,python在这种情况下做了什么样的计算?什么是总分配?

感谢,

代码#1

for num in df['Data']: 
     total = total + num 

代码#2

total = 0 
for num in df['Data']: 
      total = total + num 
+4

代码#1会给你一个错误。 – hallaksec

+0

在这种情况下,Python不会做任何“计算”。如果'total'已经有一个值,那就是将要使用的值。 –

+1

正如hallaksec所说,代码#1不会工作......除非你的代码#1实际上是*代码#2之后,在这种情况下它将使用来自代码的“total”的(已更新的)值#2。为避免这种情况,您必须像#2代码那样将''total'''重置为0。 –

在代码的第一个部分,你已经写了:

total = total + num 

如果total没有按不存在如何将total添加到num

而且也许这样做的清洁方法是使用+=:因为总未声明

total = 0 
for num in df['Data']: 
    total += num 
+1

写入df ['Data'] sum()?可能更清洁。 – HH1