python数据类型:
数据类型的可变性(值的可变性):
不可变类型:int float bool str tuple
可变类型:list set dict
在创建了一个变量的过程是将变量的地址指向变量值,复制或者拷贝变量时,只需将新变量的地址指向同一个变量值,当更改变量值时,不可变变量,不会改变原先的值,而是会开辟一个新的地址,指向新的变量值。可变变量会改变原先的变量值。
python中的“==”比较的是数据的值,“is”是比较的地址。
下面我们可以看这样一段代码:
我们可以看到a=b=1时,两个变量的地址相同,但是a=b=432时,两变量的地址不在相同,为什么会这样呢?
这是因为,在python里面变量内存地址分配是遵循小整数原则,python3中-5到+256之间的整数之间的赋值不会改变地址,python会将小整数范围里的整数存在一个容器中(有点共享池的意思)
python中的序列解包(可以同时对多个变量进行赋值)
使用*+变量名可以接受多个值,类型为‘list’。使用序列解包的方式简化了操作,这也体现了python对比C、Java更简单易操作的特点。比如交换两个变量的值在python中我们可以表示为:a,b=b,a