2.3.1 数字
在程序开发时,经常使用数字记录游戏的得分、网站的销售数据和网站的访问量等信息。在Python中,提供了数字类型用于保存这些数值,并且它们是不可改变的数据类型。如果修改数字类型变量的值,那么会先把该值存储到内容中,然后修改变量让其指向新的内存地址。
在Python中,数字类型主要包括整数、浮点数和复数。下面分别对其进行介绍。
1.整数
整数用来表示整数数值,即没有小数部分的数值。在Python中,整数包括正整数、负整数和0,并且它的位数是任意的(当超过计算机自身的计算功能时,会自动转用高精度计算),如果要指定一个非常大的整数,只需要写出其所有位数即可。
整数类型包括十进制整数、八进制整数、十六进制整数和二进制整数。下面分别对其进行介绍。
(1)十进制整数。十进制整数的表现形式大家都很熟悉。例如,以下数值都是有效的十进制整数:
3.1415926535897932384626 66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666 666666666666666666666666666666666666666 -2048 0
在IDLE中,执行的结果如图2.19所示。
图2.19 有效的整数
注意
不能以0作为十进制数的开头(0除外)。
(2)八进制整数。由0~7组成,进位规则是“逢八进一”,并且以0o/0O开头的数,如0o123(转换成十进制数为83)、−0o123(转换成十进制数为−83)。
(3)十六进制整数。由0~9、A~F组成,进位规则是“逢十六进一”,并且以0x/0X开头的数,如0x25(转换成十进制数为37)、0Xb01e(转换成十进制数为45086)。
(4)二进制整数。只有0和1两个基数,进位规则是“逢二进一”,如101(转换为十制数为5)、1010(转换为十进制为10)。
2.浮点数
浮点数由整数部分和小数部分组成,主要用于处理包括小数的数,如1.414、0.5、−1.732、3.1415926535897932384626等。浮点数也可以使用科学记数法表示,如2.7e2、−3.14e5和6.16e−2等。
注意
在使用浮点数进行计算时,可能会出现小数位数不确定的情况。例如,计算0.1+0.1时,将得到想要的0.2,而计算0.1+0.2时,将得到0.30000000000000004(想要的结果为0.3),执行过程如下:
01 >>> 0.1+0.1 02 0.2 03 >>> 0.1+0.2 04 0.30000000000000004
对于这种情况,所有语言都存在这个问题,暂时忽略多余的小数位数即可。
【例2.1】根据身高、体重计算BMI指数。(实例位置:资源包\TM\sl\02\01)
在IDLE中创建一个名称为bmiexponent.py的文件,然后在该文件中定义两个变量:一个用于记录身高,单位为m;另一个用于记录体重,单位为kg。根据公式“BMI=体重/(身高×身高)”计算BMI指数,代码如下:
01 height = 1.70 # 保存身高的变量,单位为m 02 print("您的身高:" + str(height)) 03 weight = 48.5 # 保存体重的变量,单位为kg 04 print("您的体重:" + str(weight)) 05 bmi=weight/(height*height) # 用于计算BMI指数,公式为“体重/(身高×身高)” 06 print("您的BMI指数为:"+str(bmi)) # 输出BMI指数 07 # 判断体重是否合理 08 if bmi<18.5: 09 print("您的体重过轻 ~@_@~") 10 if bmi>=18.5 and bmi<24.9: 11 print("正常范围,注意保持 (-_-)") 12 if bmi>=24.9 and bmi<29.9: 13 print("您的体重过重 ~@_@~") 14 if bmi>=29.9: 15 print("肥胖 ^@_@^")
说明
在上述代码中:str()函数用于将数值转换为字符串;if语句用于进行条件判断,将在4.2节中进行详细介绍。
运行结果如图2.20所示。
图2.20 根据身高、体重计算BMI指数
3.复数
Python中的复数与数学中的复数的形式完全一致,它们都是由实部和虚部组成的,并且使用j或J表示虚部。当表示一个复数时,可以将其实部和虚部相加。例如,一个复数实部为3.14,虚部为12.5j,那么这个复数为3.14+12.5j。