Python中的整数类型和浮点数类型
一、整数类型
整数类型中的进制
整数类型共有四种进制表示:
分别是十进制、二进制、八进制和十六进制。
进制类型
引用符号
描述
十进制
无
默认情况,如1234,-45678
二进制
0b或者0B
由字符0和1组成,如0b1001,0B0110
八进制
0o或者0O
由字符0到7组成,如0o777,0O732
十六进制
0x或者0X
由字符0到9,a到f组成(A到F),如0xBCA,0X10FC
取值范围:
[-∞,+∞]
实际的取值范围受限于当前计算机的内存大小
操作:
#不同进制的整数类型
num1=1024 #默认为10进制
num2=0X12EF #0x/0X开头的是16进制数字
num3=0O117 #0o/0O开头的是8进制数字
print("num1的16进制为:",hex(num1))#hex函数用来将10进制转换为16进制
print("num1的内存地址:",id(num1))#id函数用来查看地址
print("num1的内存地址:(16进制)",hex(id(num1)))
#python中可以删除某个变量
#del是delete的缩写:是删除的意思,也就是释放num1的内存空间
del num1
print(num1)
#再使用num1时会打印,name 'num1' is not defined ,(num1没有定义)
Python中可以计算大数的乘法,比如2的20次方,2的5000次方,2的30000次方等等
如果相知到计算的位数只需要:将数字类型装换成字符串类型,再用len()函数测量即可。
如:
print("2的30000次方一共有",len(str(2**30000)),"位")
#len()函数返回字符串的长度
二、浮点数类型
Python中要求所有浮点数必须带有小数部分。因为这种设计可以区分浮点数和整数类型。
浮点数有两中表示方法:
1.十进制表示法:0.0、-66.(只要有小数点就算是小数)、-2.568
2.科学计数法:96e4(96乘10的4次方)、4.2e-3(4.2乘10的负三次方)、9.8E4(9.8乘10的4次方)
操作:
#浮点类型
num1=9.18E5 #9.18乘以10的5次方-科学计数法
print(num1)'
print(4.2e-4)
浮点数的最大值和最小值:
import sys #引入系统模块,查看浮点类型的基本信息
#max:最大值、min:最小值
print(sys.float_info)
#会打印:
#sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)
浮点型的一些小问题:
浮点型有一个特点,15位小数内为有效小数,一旦超过16位,就会产生误差。如:
num1=3.1415926535897924
print(num1)
#会打印:
#3.1415926535897922
这时我们就需要高精度小数
import decimal #数字模块
#decimal.Decimal 数字模块中定义数字类型
#使用Decimal类型时的注意点:必须使用单引号的方式创建数字类型
num1=decimal.Decimal('3.1415926535897924')
print(num1)
#打印:3.1415926535897924
#自定义浮点数字的精度
decimal.getcontext().prec=120#精度到120位
print(num1*num1)
#打印:9.86960440108935335061832947509776
原文链接:https://blog.csdn.net/qq_45856289/article/details/106460760