- 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=1739548339-OlzeO0i8aMIGZ9mkGtzNnWu2XEWUNfIu-0-c291f49f7e3a3954951f90a33174f7c7)
1.绝对值函数abs()
abs()函数返回给定参数的绝对值。其参数可以是实数(整数、浮点数等)或复数,如果参数是复数,则返回复数的模。【范例2-24】代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/53_2.jpg?sign=1739548339-isiTC2OlH4pnaBk8idi1nYnUpQDwwX83-0-2ddc3d2e276dd4a9a119a4b57f2415b0)
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=1739548339-8wn0qbeoYWau8cSM7VgB2BXECdWhtmwy-0-40d5a851bf1cb9de542afeb9f86988e9)
注意
不能直接访问fabs()函数,需要先调用math模块,然后使用math静态对象调用此函数。
【范例2-25】代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/54_1.jpg?sign=1739548339-2YQAIZm2u1g1rMcoNJC64BryEQkTkX80-0-b7018a0a4751e406f8c45cd4353bb14e)
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=1739548339-IryeMAy3cujqmA2E2LZgk85erYLe80hk-0-85576f86e5e5fffbe4ac15f313308489)
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=1739548339-Ni00Zb26j3tiabJCdnXMpdztsiI8lJGw-0-0f706697e0ea41d102d70e3c8be6e536)
5.四舍五入函数round(x,ndigits)
round(x,ndigits)函数返回浮点数x的四舍五入值,ndigits值代表舍入到小数点后的位数。【范例2-28】代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/55_2.jpg?sign=1739548339-WV60K80wDp6Xu0h2tcgaz2UIBnsKdY5O-0-51a0e5b637e2b2800918aa0574b754f8)