Python从入门到精通(第3版)
上QQ阅读APP看书,第一时间看更新

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。