Logo

郎哥编程

内置函数:运算与聚合处理函数

2020-12-22 213

Python也提供了用于运算的内置函数,这些函数包括计算可迭代对象元素的和、幂运算、求绝对值等运算。此外也提供了用于聚合对象元素并处理的函数。

下表列出了用于运算与聚合处理的内置函数。

22.png

计算一个数的绝对值

函数声明:

abs(x)

返回一个数x的绝对值。 实参可以是一个整数或浮点数。 如果实参是一个复数,则返回它的模。

案例代码:

>>> num = -35.6
>>> abs(num)
35.6
>>> abs(3+1j)
3.1622776601683795
>>>

计算两数相除

函数声明:

divmod(a, b)

计算a除以b,以元组方式返回商和余数。

案例代码:

>>> a = 31
>>> b = 6
>>> result = divmod(31,6)
>>> print(result)
(5, 1)
>>>

执行表达式

函数声明:

eval(expression[, globals[, locals]])

执行expression表达式并返回计算结果。

参数expression是字符串对象,它表示一个合法的Python表达式。Globals和locals是可选参数,用于界定表达式在计算过程中的作用域,如果这两个参数省略,则表达式执行时会使用 eval() 被调用的环境中的 globals 和 locals。

案例代码:

>>> x = 1
>>> eval("x+1")
2
>>> y = 6
>>> eval("pow(y,2)+x")
37
>>>

幂运算

函数声明:

pow(base, exp[, mod])

计算 base 的 exp 次幂,并返回计算结果。如果 mod 存在,则返回 base 的 exp 次幂对 mod 取余。

案例代码:

>>> pow(2,3)
8
>>> x = 3
>>> pow(x,3)
27
>>>

数值精度取舍

函数声明:

round(number[, ndigits])

返回 number 舍入到小数点后 ndigits 位精度的值。 如果 ndigits 被省略或为 None,则返回最接近输入值的整数。

案例代码:

>>> num = 3.15689
>>> round(num)
3
>>> num = 3.65689
>>> round(num)
4
>>> round(num,3)
3.657
>>>

聚合处理函数

函数声明:

map(function, iterable, ...)

参数function为一个函数,该函数会应用于iterable 中的每一项,经过function处理的每一项会添加到一个迭代器中,map函数会返回该迭代器。

如果传入了多个 iterable,function 必须接受相同个数的实参并被应用于从所有可迭代对象中并行获取的项, 当有多个可迭代对象时,最短的可迭代对象耗尽则整个迭代就将结束。

案例代码:

def square(x):
    return x ** 2
a = map(square,[1,2,3,4,5])
print(list(a))

案例代码定义了函数square(x),调用map函数时,传入square函数,map函数会遍历实参列表的元素,在遍历实参列表的过程中,调用传入的square函数,square函数的实参为当前列表元素,并将square返回的结果添加了一个新构造的迭代器。

聚合处理函数

函数声明:

zip(*iterables)

参数*iterables是可变参数,允许传入多个可迭代对象。函数返回一个聚合了来自每个可迭代对象中的元素的元组类型的迭代器。

其中的第 i 个元组包含来自每个参数序列或可迭代对象的第 i 个元素。 当所输入可迭代对象中最短的一个被耗尽时,迭代器将停止迭代。 当只有一个可迭代对象参数时,它将返回一个单元组的迭代器。

函数不传入任何参数时,它将返回一个空迭代器。

案例代码:

>>> x = [1, 2, 3]
>>> y = [4, 5, 6]
>>> zipped = zip(x, y)
>>> list(zipped)
[(1, 4), (2, 5), (3, 6)]

 

代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论