sum函数

2019年10月11日 / 6次阅读 / Last Modified 2019年10月11日
内置函数

python内置了一个sum函数,求和。

>>> sum([1,2,3,4,5])  # list
15
>>> sum((1,2,3,4,5))  # tuple
15
>>> sum({1,2,3,4,5})  # set
15
>>> sum('12345')  # string is not acceptable
Traceback (most recent call last):
  File "&ls;stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'
>>> sum(b'12345')  # bytes string is OK
255
>>> sum(b'\x01\x02\x03\x04\x05')
15

sum的参数需要是一个可迭代序列,函数功能就是对序列中的所有原则相加求和。以上示例代码显示,string对象不能作为参数使用。

在看看sum函数内置的help是怎么说的:

>>> help(sum)
Help on built-in function sum in module builtins:

sum(iterable, start=0, /)
    Return the sum of a 'start' value (default: 0) plus an iterable of numbers

    When the iterable is empty, return the start value.
    This function is intended specifically for use with numeric values and may
    reject non-numeric types.

注意可选的第2个参数start。start不是index,不是说从输入序列的第几个元素开始相加,start是一个相加的起始值,相当于从start这个值开始相加。或者理解为,把序列中所有元素相加后,再加上start也可以。

>>> sum([1,2,3,4,5], -5)
10
>>> sum([1,2,3,4,5], -15)
0
>>> sum([1,2,3,4,5], 15)
30

使用sum函数的start参数,相当于多加一个参数。这个参数的存在,恐怕也仅仅是为了增加代码的可读性而已。

-- EOF --

本文链接:https://www.pynote.net/archives/1292

留言区

电子邮件地址不会被公开。 必填项已用*标注


前一篇:
后一篇:

More


©Copyright 麦新杰 Since 2019 Python笔记

go to top