- 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=1738948254-PZxdOXuFmFFGOk5CUThnvY5nF4pSnMkl-0-1bb30c0a905fbbedb13c2e4a680eec83)
1.绝对值函数abs()
abs()函数返回给定参数的绝对值。其参数可以是实数(整数、浮点数等)或复数,如果参数是复数,则返回复数的模。【范例2-24】代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/53_2.jpg?sign=1738948254-2RPHfYEV1wt8heo0zqG3sf6GLcSRmp3n-0-f97d05a1588346556d7eaeeeba3495fc)
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=1738948254-r5h935y0FJWMOXRGAKOgvS928pbPlJ3f-0-95c47d9de5ba964d8ec577d12885c4c8)
注意
不能直接访问fabs()函数,需要先调用math模块,然后使用math静态对象调用此函数。
【范例2-25】代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/54_1.jpg?sign=1738948254-WAD401kfVsy7OurHhILh2b4HLXh2cZ68-0-4a76029d2a08d32a4c661928e8c971ef)
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=1738948254-sOTxanJE9fKDS1kUXvqP2vzxywAvPFPf-0-4cf3765d2f1f6ad8a241bff5e0b75bb3)
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=1738948254-pPePInXdIJP3pknpy4MFarkbW7hUx5uu-0-a3ad07fe18f1a5066d55e96be386b6cc)
5.四舍五入函数round(x,ndigits)
round(x,ndigits)函数返回浮点数x的四舍五入值,ndigits值代表舍入到小数点后的位数。【范例2-28】代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/55_2.jpg?sign=1738948254-auJpkSbhnyCnP6VPBAijPhw4haghswM7-0-39c012e676fb2d8c9c296be49c2c41a8)