赞
踩
今天继续给大家介绍Python相关知识,本文主要内容是Python数字类型简介。
在Python中,整数类型可正可负,最重要的一点是,Python没有取值范围限制,这意味着我们可以计算一个非常大的整数,比如阶乘或者一个数的高次幂。
在Python中,我们有如下四种进制的整数表示形式。
1、十进制
不加任何符号的一个整数默认就是十进制。
2、二进制
以0b或者0B开头的符合二进制规范的整数即为二进制。
3、八进制
以0o或者0O开头的符合八进制规范的整数即为八进制。
4、十六进制
以0x或者0X开头的符合16进制规范的整数即为十六进制。
Python的各种进制表示如下所示:
在Python中,带有小数点以及小数的数字即为浮点数。与整数类型不同,浮点数的取值范围和精度存在限制。取值范围为-10307到10308,精度数量级为10-16。
在Python中,浮点数之间的运算存在不确定尾数的问题,这是由Python内部数据表示个数确定的。我们使用Python计算0.1+0.2时,会发现这两个数的和并不是0.3,而是比0.3大一点点的数,如下所示:
出现这种情况,是因为Python内部用二进制来存表示一个数字,因此对于二进制而言,无法精确的表示部分小数(如常见的0.1)。这就像我们无法用常见的十进制来表示1/3,但是可以用三进制来精确的表示1/3。也因此,不仅仅是Python,所有的编程语言都会不可避免的存在这种问题。因此,我们在处理浮点数数据的时候一定要注意。
浮点数的不确定尾数带来的一个很重要的问题是浮点数之间的运算比较。当我们比较0.1+0.2是否等于0.3时,Python会认为不等于,如下所示:
为了解决浮点数之间数值运算和比较的问题,我们可以使用round()函数来进行辅助。round函数用法如下:
round(num,d)
num是一个数字,d是该数字要截取的位数,例如:
由于不确定位数一般发生在10-16左右,因此使用round()函数可以对浮点数的比较进行精度的截取,如下所示:
在Python中,浮点数可以用科学计数法表示。科学计数法格式如下所示:
【基数】e【幂】
例如,1.8e-1表示为0.18。
注意:如果我们想对一个整数使用科学计数法,那么在使用科学计数法表示该数后,该数字形式变换为浮点数,如下所示:
Python支持复数的数字类型。Python中的复数与数学中的复数定义相同。
在默认情况下,Python执行对一个负数的开平方运算,并不会报错,而是会返回一个复数,如下所示:
我们可以使用一个复数的real和imag来获取该复数的实部和虚部,如下所示:
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。