Python 之变量与数据类型

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、整数或浮点数与复数运算时,结果是复数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值