知识点 - sum 函数
-
基本语法
-
sum(iterable[, start])
-
iterable 是一个可迭代对象,例如列表、元组、集合等,其中的元素通常是数字类型(整数或浮点数)。
-
start 是一个可选参数,表示累加的起始值,默认为 0。
-
案例1
上这段代码展示了 sum() 函数在处理不同类型可迭代对象(列表、元组、集合)时的行为。从结果来看,sum() 函数能够正确处理这些可迭代对象,并计算出其中所有元素的总和。
-
可迭代对象的特点:
-
列表和元组:
列表和元组是有序的,元素可以重复。sum() 函数会按顺序累加所有元素。 -
集合:
集合是无序的,且元素唯一。sum() 函数会忽略元素的顺序,直接计算所有元素的总和。
-
案例2
print(sum(num+num1)) 这行代码试图对两个复数的和使用 sum()
函数。然而,这里会引发错误,原因如下:
-
复数的加法:
-
num + num1 的结果是两个复数相加。复数的加法是逐部分相加:
(1 + 2j) + (2 + 3j) = (1 + 2) + (2 + 3)j = 3 + 5j -
因此,num + num1 的结果是一个复数 3 + 5j。
-
-
sum()
的适用范围:-
sum() 函数用于计算可迭代对象(如列表、元组、集合等)中所有元素的总和。它的第一个参数必须是一个可迭代对象。
-
但是,复数 3 + 5j 是一个单个的复数对象,而不是一个可迭代对象。因此,sum() 函数无法处理它。
-
所以输出结果:TypeError: 'complex' object is not iterable
案例3:
上面这段代码展示了 sum() 函数的另一个特性:使用 start 参数。start 参数允许你指定一个初始值,从这个值开始累加可迭代对象中的所有元素。
解释
-
sum() 函数的第一个参数是可迭代对象(这里是元组 num())。
-
第二个参数
168
是 start 参数,表示累加的起始值。 -
sum()函数的工作原理是:从 start 的值开始,依次加上可迭代对象中的所有元素。
start
参数的作用
start 参数在 sum()函数中是一个可选参数,它的默认值是 0
。如果你不提供 start 参数,sum() 函数会从 0
开始累加。
案例4
1. sum(1, 2)
-
sum() 是一个内置函数,用于计算可迭代对象(如列表、元组等)中所有元素的总和。
-
这试图直接调用 sum(1, 2),但这里传入的是两个单独的整数参数,而不是一个可迭代对象。
-
这会导致错误,因为 sum() 函数的第一个参数必须是一个可迭代对象(如列表、元组、集合等),而不是单个的数字。