![Python语言从入门到精通](https://wfqqreader-1252317822.image.myqcloud.com/cover/679/33643679/b_33643679.jpg)
3.2 数字类型
![](https://epubservercos.yuewen.com/985AB7/17977545508664106/epubprivate/OEBPS/Images/51_03.jpg?sign=1738891100-wjOWp4orS4hsmb9TvWwEBtttItKr8JOh-0-3ab7f57cf33aaf8a904b0dfb869e5e6f)
↑扫码看视频
数字类型Numbers用于表示变量或对象的数值。从Python 3开始,只支持int、float、bool、complex(复数)共计4种数字类型,删除了Python 2中的Long(长整数)类型。在本节中,将详细讲解int、float、bool、complex(复数)这4种数字类型的基本知识。
3.2.1 整型
整型(int)就是整数,没有小数点,包括正整数、负整数和零。在Python语言中,可以使用如下格式来表示不同进制的整数。
![](https://epubservercos.yuewen.com/985AB7/17977545508664106/epubprivate/OEBPS/Images/51_04.jpg?sign=1738891100-iMIusZa4gb3a2o8fOa1x1RzUzeY3z8m3-0-5c4ccaa5e63dbca678431ee79f23ca32)
在现实应用中,有如下4种常用的进制标志。
● 0o[00]数字:表示八进制整数,例如:0o24、0O24)。
● 0x[OX]数字:表示十六进制整数,例如:0x3F、0X3F。
● 0b[OB]数字:表示二进制整数,例如:0b101、0B101。
● 不带进制标志:表示十进制整数。
整型的最大功能是实现数学运算,例如下面的演示过程。
![](https://epubservercos.yuewen.com/985AB7/17977545508664106/epubprivate/OEBPS/Images/52_01.jpg?sign=1738891100-QGLhSsZ8L9WZC9gLXZKGi69xul2m2PpY-0-07c03fb566bbec598c8c64071bb88fd7)
3.2.2 浮点型
浮点型(float)由整数部分与小数部分组成。也可以使用科学计数法表示浮点型,例如2.5e2=2.5×102=250。按照科学计数法表示时,浮点数的小数点位置是可变的,比如,1.23e9和12.3e8的值是相等的。浮点数一般采用常规写法,如1.23,3.14,-9.01等。但是对于很大或很小的浮点数,就建议采用科学计数法表示,1.23×109可以用1.23e9,或者12.3e8表示,而0.000012可以写成1.2e-5。
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法也是精确的),而浮点数运算则可能会有四舍五入的误差。
必须注意的是,只有浮点类型的数值才使用科学计数法表示。例如51200是一个整型的值,但512E2则是浮点型的值。
3.2.3 布尔型
布尔类型是表示逻辑值的简单类型,布尔型的取值只有True和False(请注意首字母大写),分别表示逻辑上的“真”或“假”,其返回值分别是“1”和“0”。布尔类型在if、for等控制语句的条件表达式中比较常见,例如if条件控制语句、while循环控制语句、do循环控制语句和for循环控制语句等。
程序中可以直接用True和False表示布尔值,也可以通过布尔运算计算出来,例如下面的演示过程。
![](https://epubservercos.yuewen.com/985AB7/17977545508664106/epubprivate/OEBPS/Images/52_02.jpg?sign=1738891100-CHDAAU0USXQhtPfRQkMxKTZvzn2RTZKH-0-2d6942e3dfddc6a348fcc1caace762dc)
![](https://epubservercos.yuewen.com/985AB7/17977545508664106/epubprivate/OEBPS/Images/53_01.jpg?sign=1738891100-O88XvJZjmYJkeNarSxmYa2tMDt33a3bi-0-837036fe1f1cad438f1d39d8e50e28da)
布尔值可以用and、or或not进行运算。其中and运算是与运算,只有所有的操作数都为True时,and运算结果才是True,例如下面的演示过程。
![](https://epubservercos.yuewen.com/985AB7/17977545508664106/epubprivate/OEBPS/Images/53_02.jpg?sign=1738891100-R1leOqDn0yLk4GBroA9hFdGn763WHB1j-0-4628006711d0ac1391b5b3d6eb4408a9)
or运算是或运算,只要其中有一个操作数为True,or运算的结果就是True,例如下面的演示过程。
![](https://epubservercos.yuewen.com/985AB7/17977545508664106/epubprivate/OEBPS/Images/53_03.jpg?sign=1738891100-23fC1hfiV0ABil0FbjA8WhqM1Q4NPbGs-0-3ce0b394f5f58ca083cebc242a9d39ce)
not运算是非运算,它是一个单目运算符,能够实现相反的操作运行,即把True变成False,把False变成True,例如下面的演示过程。
![](https://epubservercos.yuewen.com/985AB7/17977545508664106/epubprivate/OEBPS/Images/53_04.jpg?sign=1738891100-64Nbf2GqxlcsJzVn5DKTg5dB6ai3A2uy-0-914ca30f42b3deca97db45aeac11e874)
条件判断应用中经常使用布尔型,例如下面的演示代码。
![](https://epubservercos.yuewen.com/985AB7/17977545508664106/epubprivate/OEBPS/Images/53_05.jpg?sign=1738891100-LkMeAbbLdDF1WQIsPVu71V6NXlkrnQZw-0-615d5b25ba411f2791456f2d340a478b)
3.2.4 复数型
复数型(complex)由实数部分和虚数部分构成,可以用a+bj或者complex(a,b)表示,复数的实部a和虚部b都是浮点型。表3-4列出了int、float和complex的对比。
表3-4 int、float和complex的对比
![](https://epubservercos.yuewen.com/985AB7/17977545508664106/epubprivate/OEBPS/Images/54_01.jpg?sign=1738891100-lTAa8aCuhFZIwQahWfhUMzHMMtcKTYkx-0-ae7a6063cef91b0b5d4616b86abe10d8)
使用内置的函数type()可以查询变量的数据类型。
![](https://epubservercos.yuewen.com/985AB7/17977545508664106/epubprivate/OEBPS/Images/54_02.jpg?sign=1738891100-bAypCV2cnzPsXBYzfUBpEyazGtliyev7-0-ecf85ba73231e3179a996e36c9d63406)
实例文件leixing.py的具体实现代码如下所示。
![](https://epubservercos.yuewen.com/985AB7/17977545508664106/epubprivate/OEBPS/Images/54_03.jpg?sign=1738891100-QSfwIi2ZXFCQvs3Ct9cPLV65eH0f7rmD-0-65f72086a3288b3bbd0a44fc19c392df)
执行后将分别显示4个变量a、b、c、d的数据类型,输出结果如下所示。
![](https://epubservercos.yuewen.com/985AB7/17977545508664106/epubprivate/OEBPS/Images/54_04.jpg?sign=1738891100-YHTGX0S6jFSzEh6rBMBAWayJNQRLhVZv-0-9d773a4533fb6c14fc85da25a36de40e)
注意事项。
● Python可以同时为多个变量赋值,例如“a,b = 1,2”,表示a的值是1,b的值是2。
● 一个变量通过赋值可指向不同类型的对象。
● 数值的除法“/”总是返回一个浮点数,要想获取整数,需要使用“//”操作符。
● 在进行混合计算时,Python会把整数转换成为浮点数。