购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2 数字类型

计算机是可以做快速、高精度数学计算的机器,工程师们设计的计算机程序也可以处理各种数值,并且计算机能处理的不仅仅是数值,还有文本、图形、音频、视频、网页等各种各样的数据对象。在程序设计时,对于不同的对象需要定义不同的对象类型,Python 3.x中有6种标准的对象类型:Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典)。本节首先讲解Number(数字)类型,其他5种对象类型将在后续章节介绍。

Python 3.x支持3种不同的Number(数字)类型,即整数类型(int)、浮点数类型(float)和复数类型(complex)。

1.2.1 整数

整数类型(int)通常称为整型或整数,一般直接用int表示,是正整数、0和负整数的集合,并且不带小数点。在Python 3.x中,整型没有限制大小,可以当作long(长整型)类型使用,所以Python 3.x没有Python 2.x的long类型。

整型的输入非常简单,如要输入31,可在交互模式下输入:

     >>> 31
     31

这里输入的31就是整型,对于编译器来说识别到的是整型。

整型可以支持如下操作:

对于不能整除的情形,除法操作的小数位会比较多,例如:

     >>> 156 / 31
     5.032258064516129

对于Python的整数除法,除法(/)计算结果是浮点数,即使两个整数恰好能整除,结果也是浮点数,即最终结果会带上小数位。如果只想得到整数的结果,舍弃小数部分,可以使用地板除(//),整数的地板除(//)永远是整数,除不尽时会舍弃小数部分。

上面的输入更改为如下形式:

     >>> 155 // 31
     5

这时得到的计算结果就不带小数位了,即不是浮点数了。再看看用156做计算的结果:

     >>> 156 // 31
     5

155和156对31做地板除的结果都是5。因为地板除(//)只取结果的整数部分。针对这类问题,Python提供了一个余数运算,可以得到两个整数相除的余数,在Python中叫取模(%)。155和156对31的取模如下:

1.2.2 浮点数

浮点数类型(float)一般称为浮点型,由整数部分与小数部分组成,也可以使用科学计数法表示。例如:

     >>> 5.3*62
     328.59999999999997

整型和浮点型在计算机内部存储的方式不同,整型运算永远是精确的,而浮点型运算可能会有四舍五入的误差。

1.2.3 数字类型转换

在编程的过程中,经常会需要将整型转换为浮点型,或将浮点型转换为整型。一般将浮点型转换为整型会丢失精度,在实际操作中需要注意。

对数据内置的类型进行转换,只需要将数据类型作为函数名即可。

在Python中,数据类型转换时有如下4个函数可以使用:

例如:

     >>> int(560.1)
     560

输出结果将560.1转换为了560。

在实际生活中,有关财务的操作要用浮点型进行记账,可以使用float函数。例如,在交互模式下输入:

     >>> float(560.1)
     560.1

这样转换后得到的就是浮点型数据。

不过这个计算结果的小数位还是大于0,如果要得到小数位为0的结果,该怎么办呢?把int函数放入float函数中是否可以呢?在交互模式下输入:

     >>> float(int(560.1))
     560.0

这里先把560.1通过int函数取整,得到整型560,再通过float函数将560转换成浮点型560.0,得到了我们想要的结果。当然,这里虽然得到了最终想要的结果,但是输入的字符看起来有点复杂。这其实是函数的嵌套,后面会进行具体介绍,此处了解即可。 vZQlnzCq+hgzf5rNaglt0lVxshjy887E3Sn+xRVHQPkXGbxhgkySfpH+YiVaSQPC

点击中间区域
呼出菜单
上一章
目录
下一章
×