赞
踩
计算机对数字的识别和处理只有两个要求:确定性和准确性。
首先,学习数字类型,python提供了3种数字类型:整数,浮点数,复数,为分别对应数学中的整数,实数和复数。
整数类型:和数学里的整数一致
整数类型分四种进制表达:十进制,二进制,八进制和十六进制。
如下图所示,二进制以0b引导,八进制以0o引导,十六进制以0x引导,大小写字母均可使用。
进制种类 | 引导符号 | 描述 |
十进制 | 无 | 默认情况:10 |
二进制 | 0b 或 0B | 由字符0和1组成:0b010 |
八进制 | 0o 或 0O | 由字符0到7组成:0o123 |
十六进制 | 0x 或 0X | 由字符0到9、a到f、A到F组成,不区分大小写:0x9a |
整数类型在理论上的取值范围是±无穷大,实际上取值范围受限于python程序的计算机内存大小(日常计算已经足够),举例如下:
我们使用pow()来测试最大值,他的表达式是:
pow(x,y) #计算x的y次方
我们用pow( )写两个代码运行一下看看:(数字太长显示不完)
浮点型:带有小数点及小数的数字
Python中的浮点数有以下三点需要注意的:
表达方法有两种:第一种:0.07,0.34,1.45,还可以用科学计数法表示
使用字母e或E作为幂的符号,以10为基数,格式如下:
例如:2.0e-1结果是0.2 3.3e-3结果是0.0033
取值范围:浮点数取值范围和小数精度都存在限制,但是常规计算可以忽略,浮点数取值范围数量级约是:
精度限制:精度既然不是100%,就存在不确定尾数,不确定尾数不是BUG,是二进制转换过程中产生,很多编程语言都有。为了验证精度,分别测试程序0.1+0.3和0.1+0.2结果如下图:
0.1+0.3显示等于0.4,为什么没有不确定尾数呢?是因为最末尾数是0,如果再显示几位数,就会显示了。
小伙伴们是不是发现了,小数只保留到小数点后16位,在使用科学计数法时,2e-4结果会显示成0.0002,小数点后达到5位,输出结果会变成科学计数法。
不确定尾数对我们有没有影响呢:我们再测试一段代码如下:
由此可以看出,当我们需要0.1+0.2==0.3时,代码却保错误,这时候需要引入一个函数round( ),使用格式如下:
round(x,d) #对x四舍五入,d是需要保留的小数位数
我们再以上面的例子使用round( )运行一下看看效果:
最难也是最不常用的复数来了,在上一节已经了解了复数的由来,python和数学上的复数是一样的,只不过python的虚数用的是j,数学上的虚数用的是i。
我们重点需要掌握复数的实部和虚部就可以了,也可以用以下两个函数调用:
z.real获得实部 z.img 获得虚部
实例如下:
数字类型学习完了,再学习运算操作符和运算函数就会很容易了。
数值运算操作符是完成运算的一种符号体系。
需要特别注意的是,在整数,浮点数和复数同时运算是,生成的结果为最宽的类型,优先顺序如下:
数值运算函数:一些以函数形式提供的数值运算功能(以后会经常遇到)
最后,再增加一个布尔值的运算,即真和假,python中是False和True,首字母必须是大写,真表示1,假表示0,通过以下代码可以看出:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。