- Python核心编程从入门到开发实战
- 朱红庆
- 635字
- 2020-08-27 18:33:04
2.5.1 内置的数值运算函数
Python解释器提供了一些内置运算函数,使用这些函数可以在编程时提升更大的灵活性。在这些内置运算函数中,有6个函数与数值运算相关,如表2-9所示。
表2-9 常用的内置数值运算函数
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/53_1.jpg?sign=1739263851-1h9hHrOv19aUF894IajrWn3vgvVxMzSH-0-54b5df262c6012b2d75ab48193595485)
1.绝对值函数abs()
abs()函数返回给定参数的绝对值。其参数可以是实数(整数、浮点数等)或复数,如果参数是复数,则返回复数的模。【范例2-24】代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/53_2.jpg?sign=1739263851-gzaYj7A7mqYhKSiAEE6Lbxk3PbKxR8N5-0-f38c9e95f773e3c3770084fa2a52e98c)
2.fabs()和abs()函数的区别
在Python中,fabs(x)函数返回x的绝对值。虽然fabs()函数类似于abs()函数,但是这两个函数存在以下差异:
· abs()是一个内置函数,而fabs()函数是在math模块中定义的。
· fabs()函数只适用于浮点数和整数类型,而abs()函数还适用于复数类型。
以下是fabs()函数的语法:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/53_3.jpg?sign=1739263851-bJH1XnwcVxPhlIWAJSC0cmSaDOaQqAe6-0-d78f40d07e5848c8375f95f6b93e65eb)
注意
不能直接访问fabs()函数,需要先调用math模块,然后使用math静态对象调用此函数。
【范例2-25】代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/54_1.jpg?sign=1739263851-x8xPLuHeqNviPJOo56ks930dP3U6XOve-0-e6f64b4926eff0c3dcc4d255f2b23a2b)
3.divmod(x,y)函数
divmod(x,y)函数用于实现x除以y,然后返回由商和余数组成的元组。如果两个参数x、y都是整数,那么会采用整数除法,运算结果相当于(x//y,x%y)。如果x或y是浮点数,则运算结果相当于(math.floor(x/y),x%y)。【范例2-26】代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/54_2.jpg?sign=1739263851-lCMBIjwTSYnBwExShGi1M2Z57Dj8j1At-0-7268c97bd8af061c7412ef9c85f77a51)
4.pow(x,y[,z])函数
pow(x,y[,z])函数用于计算x的y次方,如果z存在,则再对运算结果进行取模,等效于pow(x,y)%z。其中,pow(x,y)与x**y等效。采用一起计算的方式是为了提高计算的效率,但要求3个参数必须为数值类型。
【范例2-27】代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/54_3.jpg?sign=1739263851-zq9fQyu98kQ1mhvPSnCpLj5MidJTulP9-0-9d1194b4f74408024dd11e4744016f4b)
5.四舍五入函数round(x,ndigits)
round(x,ndigits)函数返回浮点数x的四舍五入值,ndigits值代表舍入到小数点后的位数。【范例2-28】代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/55_2.jpg?sign=1739263851-2ncfiGQPVjYxhWoLFPnfC2eW9zCzKLsp-0-3535380d5a42bf09ef7b397a0768cf86)