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

3-2 数值数据类型

3-2-1 整数

整数的英文是 integer ,在计算机程序语言中一般用 int 表示。如果你学过其他计算机语言,在介绍整数时老师一定会告诉你,该计算机语言使用了多少空间存储整数,所以设计程序时,整数大小必须是在某一区间,否则会有 溢位 (overflow),造成数据不正确。

例如:如果存储整数的空间是32位,则整数大小是在-2147483648 ~ 2147483647。在Python 2.x时代,整数是被限制在32位。另外还有长整数long,空间大小是64位,所以可以存储更大的数值,达到 -9223372036854775808 ~ 9223372036854775807 。Python 3已经将整数存储空间的大小限制拿掉了,所以没有long了,也就是说int可以是任意大小的数值。

英文googol是指自然数10100,这是1938年美国数学家 爱德华·卡斯纳 (Edward Kasner) 9岁的侄子 米尔顿·西罗蒂 (Milton Sirotta)所创造的。下列是笔者尝试使用整数int显示此googol值。

其实 Google 公司原先设计的搜索引擎称 BackRub ,登记公司时以 googol 为域名,代表网络上无边无际的信息。由于在登记时拼写错误,所以有了现在的 Google 搜索引擎公司。

整数使用时比较特别的是,可以在数字中加上 下画线 (_),这些下画线会被忽略,如下所示:

有时候处理很大的数值时,适当使用下画线可以让数字表达更清楚,例如:下列是设定100万的整型变量x。

3-2-2 浮点数

浮点数的英文是float,既然整数大小没有限制,浮点数大小当然也没有限制。在Python语言中,带有小数点的数字称为浮点数。例如:

x = 10.3

x是 浮点数

3-2-3 基本数值数据的使用

Python在定义变量时可以不用设定这个变量的数据类型,未来如果这个变量内容是放整数,这个变量就是整数(int)数据类型,如果这个变量内容是放浮点数,这个变量就是浮点数数据类型。整数与浮点数最大的区别是, 整数不含小数点,浮点数含小数点

程序实例ch3_2.py: 测试浮点数。

执行结果

在程序实例ch3_1.py中,变量x的值是10,x变量是整型变量;在这个实例中,x变量的值是10.0,x变量是 浮点数变量

3-2-4 整数与浮点数的运算

Python程序设计时不同数据类型也可以执行运算,程序设计时常会发生整数与浮点数之间的数据运算,Python具有简单自动转换能力,在计算时会将整数转换为浮点数再执行运算。

程序实例ch3_3.py: 不同数据类型的运算。

执行结果

上述变量y,由于是整数与浮点数的加法,所以结果是浮点数。此外,如果某一个变量是整数,但是最后所存储的值是浮点数,Python也会将此变量转成浮点数。

程序实例ch3_4.py: 整数转换成浮点数的应用。

执行结果

原先变量x所存储的值是整数,所以列出的是整数。后来存储了浮点数,所以列出的是浮点数。

3-2-5 不同底数的整数

在整数的使用中,除了我们熟悉的十进制整数运算,还有下列不同底数的整数运算:

二进制 整数:0、1。

八进制 整数:0、1、2、3、4、5、6、7。

十六进制 整数:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,英文字母部分也可用小写a、b、c、d、e、f代表。

下列3-2-6节至3-2-8节会说明上述概念。

3-2-6 二进制整数与函数bin( )

我们可以用二进制方式代表整数,Python中定义凡是0b开头的数字,代表这是二进制的整数。

     bin( )函数可以将一般数字转换为二进制。

程序实例ch3_5.py: 将十进制数值与二进制数值互转的应用。

执行结果

3-2-7 八进制整数与函数oct( )

我们可以用八进制方式代表整数,Python中定义凡是0o开头的数字,代表这是八进制的整数。

     oct( )函数可以将一般数字转换为八进制。

程序实例ch3_6.py: 将十进制数值与八进制数值互转的应用。

执行结果

3-2-8 十六进制整数与函数hex( )

我们可以用十六进制方式代表整数,Python中定义凡是0x开头的数字,代表这是十六进制的整数。

     hex( )函数可以将一般数字转换为十六进制。

程序实例ch3_7.py: 将十进制数值与十六进制数值互转的应用。

执行结果

3-2-9 强制数据类型的转换

有时候我们设计程序时,可以自行强制使用下列函数,转换变量的数据类型。

· int( ) :将数据类型强制转换为整数。

· float( ) :将数据类型强制转换为浮点数。

程序实例ch3_8.py: 将浮点数强制转换为整数的运算。

执行结果

程序实例ch3_9.py: 将整数强制转换为浮点数的运算。

执行结果

3-2-10 数值运算常用的函数

下列是数值运算时常用的函数。

· abs( ) :计算绝对值。

· pow(x,y) :返回x的y次方。

· round( ) :采用Bankers Rounding概念,如果处理位数左边是 奇数 则使用四舍五入 ,如果处理位数左边是 偶数 则使用五舍六入 。例如:round(1.5)=2,round(2.5)=2。

处理小数时, 第2个参数 代表取到小数第几位,根据保留小数位的后两位,采用50舍去,51进位,例如:round(2.15,1)=2.1,round(2.25,1)=2.2,round(2.151,1)=2.2,round(2.251,1)=2.3。

程序实例ch3_10.py: abs( )、pow( )、round( )、round(x,n)函数的应用。

执行结果

需要留意的是,使用上述abs( )、pow( )或round( )函数,尽管可以得到运算结果,但是原先变量的值没有改变。

3-2-11 科学记数法

所谓的科学记数法概念如下,一个数字转成下列数学式:

     a * 10n

a是浮点数,例如: 123456 可以表示为 1.23456 * 10 5 ,这时10为基底数,我们用 E e 表示, 指数部分 则转为一般数字,然后省略*符号,最后表达式如下:

     1.23456E+5或1.23456e+5

如果碰上小于1的数值,则E或e右边是负值。例如:0.000123转成科学记数法,最后表达式如下。

     1.23E-4或1.23e-4

下列是示范输出。

3-2-12 复数

Python支持复数(complex number)的使用,复数是由实数部分和虚数部分所组成,例如:a +bj或是complex(a,b),复数的实部a与虚部b都是浮点数。

而j是虚部单位,值是 ,Python程序设计时可以使用real和imag属性分别获得此复数的实部与虚部的值。 z2DS8QMnumvfSkUqp95FsQgHp7I4MU2UlvYn4F4hzt+uS/2dDRQ2crbeCQZGPXws

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