数字类型:
1、程序元素:010/10,存在多种可能:①表示十进制数值10,此时相同;②类似人名字一样的字符串,此时不同。
2、程序设计语言要求内部每个元素确定且不存在歧义,因此使用数字类型定义和说明程序中出现的数字,并规范它们的具体使用。
Python包括三种数字类型:
1、整数类型;2、浮点数类型;3、复数类型。
整数类型:
1、与数学中的整数概念一致,没有取值范围限制
2、pow(x,y)函数:计算x的y次幂
3、打开IDLE
4、程序1:pow(2,10)=1024,pow(2,15)=32768
5、程序2:pow(2,1000)得到302位
6、程序3:pow(2,pow(2,15))得到9000多位
如何获得输出结果的位数?
示例:
1、1010,99,-217 (十进制)
2、0x9a,-0X89 (0x,0X开头表示16进制数)
3、0b010,-0B101 (0b,0B开头表示2进制数)
4、0o123,-0O456 (0o,0O开头表示8进制数)
浮点数类型
1、带有小数点及小数的数字,由于浮点数用计算机专有的浮点运算单元来进行计算,相比整数更加耗时。因此为了兼顾程序运行效率,一般程序设计语言将整数和浮点数区分开来。
2、Python语言中浮点数的数值范围存在限制,小数精度也存在限制,这种限制与不同计算机系统有关。
>>>import sys
将输出当前系统中浮点数类型的精读,可以看到在计算机上浮点数数值范围从约10的-308次方,到10的308次方,小数点后精度可达53位。如果不是极端的科学计算,绝大多数常规运算都不会超过这个数值范围,因此,一般我们也认为浮点数是没有限制的。
示例:
1、0.0,-77.,-2.17
2、96e4,4.3e-3,9.6E5 (科学计数法)
3、科学计数法使用字母“e”或者“E”作为幂的符号,以10为基数。科学计数法含义如:<a>e<b>=a*(10^b),可以用非常简洁的方式表示数位较长的数值,在科学和数学计算中经常使用。
复数类型
1、与数学中的复数概念一致,z=a+bj,a是实数部分,b是虚数部分,a和b都是浮点类型,虚数部分用j或者J标识。
2、示例:12.3+4j,-5.6+7j
3、z=1.23e-4+5.6e+89j,对于复数z,可用z.real获得实数部分,imag获得虚数部分,z.imag=5.6e+89;z.real = 0.000123,z.imag = 5.6e+89
数字类型的关系
1、三种类型存在一种逐渐“扩展”的关系:
整数->浮点数->复数(整数是浮点数特例,浮点数是复数特例)
2、不同数字类型之间可以进行混合运算,运算后生成结果为最宽类型。
示例:123+4.0=127.0(整数+浮点数=浮点数)
3、三种类型可以相互转换,函数:int()、float()、complex()
int(4.5)=4(直接去掉小数部分)
float(4)=4.0(增加小数部分)
complex(4)=4+0J(增加值为0的虚部)
>>>float(4.5+0j)
系统返回一个错误类型,Python语言不支持直接将复数转换为浮点数,同样也不支持将复数转换为整数。
如果我们需要将一个复数转换为整数或者浮点数,可以用imag、real函数将复数的虚部或实部转化为对应类型。
数字类型的判断:
1、函数:type(x),返回x的类型,适合于所有类型的判断
2、示例:>>>type(4.5) <class ‘float’>
x+y,x-y,x*y,x/y,x//y,x%y,+x,-x,x**y,abs(x),divmod(x,y),pow(x,y)
加、减、乘、除、不大于x与y之商的最大整数、x与y之商的余数、x、x的负值、x的y次幂、x的绝对值、(x//y,x%y),x的y次幂