Python内置的求和函数是sum()
,它可以用来计算一个可迭代对象(比如列表、元组、集合)中所有元素的和。在这里,我们就来详细讲解一下这个函数的用法和一些注意事项。
基本用法
sum()
函数的基本用法非常简单,就是将可迭代对象作为参数传递进去,然后它就会返回该对象中所有元素的和。例如:
nums = [1, 2, 3, 4, 5]
total = sum(nums)
print(total) # 输出 15
这里,我们定义了一个包含数字1到5的列表nums
,然后将它传递给sum()
函数,得到它们的和。
求和起点的设置
有时候,我们可能需要从一个可迭代对象的某个位置开始累加求和,而不是从第一个元素开始。这时,我们可以给sum()
函数传递一个可选的start
参数,表示求和的起点。例如:
nums = [1, 2, 3, 4, 5]
total = sum(nums, start=2)
print(total) # 输出 12,即从索引为2的元素3开始累加求和
在这个例子中,我们将start
参数设为2,表示从列表中的第3个元素(即索引为2)开始累加计算。最终,函数返回的是2+3+4+5=14。
注意事项
在使用sum()
函数时,需要注意以下几点:
- 它只能用来求和数字类型的可迭代对象,对于其他类型则会抛出TypeError异常。
- 如果可迭代对象中有空值或非数字类型的元素,会抛出TypeError异常。
- 在Python 2.x版本中,
sum()
函数默认只能处理整数类型,而且调用起来很慢。因此,如果需要处理浮点数类型的可迭代对象,则需要显式地将其转换为浮点数类型。而在Python 3.x版本中,sum()
函数则可以处理任何数字类型。
示例代码:
“` python
例1:sum()函数只能用来求和数字类型的可迭代对象
nums = [1, 2, ‘3’, 4, 5] # 注意,这里有一个字符串类型的元素’3′
total = sum(nums)
抛出异常:TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’
例2:显式地将可迭代对象转换为浮点数类型
nums = [1.0, 2.0, 3.0, 4.0, 5.0]
total = sum(nums)
print(total) # 输出 15.0(浮点型)