Python中的变量与数据类型
一、变量
Python中的变量: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
四、变量的内存管理
引例:
观察下面代码的允许结果:
num = 1024
id(num) #id()函数用来获取变量的内存地址
num = num + 1023
id(num) #两次打印的num地址并不相同
#(运行下方代码)
#*********************************
num = 1024
print(id(num))#id()函数用来获取变量的内存地址
num = num + 1023
print(id(num)) #两次打印的num地址并不相同
#打印结果
#52556000
#52556064
注意:
1、在Python中修改变量值的操作,并不是修改了变量的值,而是修改了变量指向的内存地址。
2、Python采用基于值的内存管理方式,如果我们为不同变量赋相同的值时,那么在内存中的值只会有一份,即多个变量指向同一块内存地址。
五、变量与数据类型小结
4.1变量
1、变量是一个存储位置,每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
2、在Python中,变量就是变量,它没有类型,我们所说的“类型”是变量所指的内存中对象的类型。
4.2Python中的数据类型
不可变数据类型:数字、字符串、元组。
可变数据类型:列表、集合、字典。
4.3Python中的数字类型
整数类型、浮点类型和复数类型。
注意:
1、Python可以同时为多个变量赋值,如a,b = 1,2 。
2、一个变量可以通过赋值指向不同类型的对象。
3、整数和浮点数混合运算时,结果是浮点数。 4、整数或浮点数与复数运算时,结果是复数。