![Python程序设计基础](https://wfqqreader-1252317822.image.myqcloud.com/cover/423/30058423/b_30058423.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.3.3 算术运算
Python的算术运算符见表2-2。
表2-2 Python的算术运算符
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt002_49.jpg?sign=1739377164-2mtZNJtM4dgwoD3JDIQwA4OCsJd5THd7-0-c17b96760734a19144d32f41ac301e55)
算术运算符的优先级,按照从低到高排列(同一行优先级相同)如下:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt002_50.jpg?sign=1739377164-bpbisrdRNBVEew8hJUAnMfo2RGO15CXj-0-7102c9c97914ee680215254c980c68c0)
再看几个例子:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt002_51.jpg?sign=1739377164-KumCrndli7fVsMkBBH2lzzafTCyi3plT-0-d694b6ff4805b81bb1a3436980cb1ec7)
以上的例子都是在相同类型之间的数据运算。如果是不同类型之间的数据运算,会发生隐式类型转换。转换规则是:低类型向高类型转换。可以进行算术运算的各种数据类型,从低到高排列为:bool < int < float < complex。例如:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt002_52.jpg?sign=1739377164-jNFQOGdaRXLckgsJFba4VY20Qs1piT5I-0-f041351a58f2c14707719f08babf431d)
常用的Python数学运算类的内置函数见表2-3。
表2-3 常用的Python数学运算类的内置函数
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt002_53.jpg?sign=1739377164-eGfVk2GUPjfzFnBmw59E5ok2lDzobTZk-0-cee86add30436f825d7e17e9a1f34f05)
math模块中的函数见表2-4。
表2-4 math模块中的函数
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt002_54.jpg?sign=1739377164-gT56lwaBMBosR2accXZ13RWbZQdCGkpX-0-31032506ec1c57999a9b93f7bae9014f)
math模块中还定义了两个常量。
●math.pi:数学常量π,math.pi = 3.141592653589793。
●math.e:数学常量e,math.e = 2.718281828459045。
使用math模块前要先导入,使用函数时要在函数名前面加上“math.”。例如:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt002_56.jpg?sign=1739377164-V69hItGHAnCWDECftejhhbjqWMySyqAc-0-94f6d07860b63216b55b27a5e5b6f8c7)
如果要频繁使用某单一模块中的函数,为避免每次写模块名的麻烦,也可以按下面方式导入:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt002_57.jpg?sign=1739377164-SFRoANhXrV1Brg3GbRUhqNViASuf7Q6k-0-347c98615a034fbc5cb27654bf8b0b4d)
这样,就可以像内置函数那样来使用模块函数了。但是多个模块中可能有同名函数,如果都按这种方式导入,会产生名字冲突的问题。