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
答
在代码的第一个部分,你已经写了:
total = total + num
如果total
没有按不存在如何将total
添加到num
?
而且也许这样做的清洁方法是使用+=
:因为总未声明
total = 0
for num in df['Data']:
total += num
+1
写入df ['Data'] sum()?可能更清洁。 – HH1
代码#1会给你一个错误。 – hallaksec
在这种情况下,Python不会做任何“计算”。如果'total'已经有一个值,那就是将要使用的值。 –
正如hallaksec所说,代码#1不会工作......除非你的代码#1实际上是*代码#2之后,在这种情况下它将使用来自代码的“total”的(已更新的)值#2。为避免这种情况,您必须像#2代码那样将''total'''重置为0。 –