python可变数据类型和不可变数据类型

                          Python3可变数据类型与不可变数据类型

有很多人在刚开始接触 python 这个语言的时候,总是搞不清楚什么是 可变数据类型 什么是 不可变数据类型,今天就让我们通过这篇小文章来详细了解一下。


知识点目录:

1.python 的数据类型

2.可变数据类型 和 不可变数据类型 都有哪些?

3.专业名词解释

4.代码举例说明

5.表格图


----------------------------------------------------------这是一条帅气的分割线-----------------------------------------------------------------

1. python 的数据类型?

数值类型、字符串、元组、列表、字典、集合(不常用)


2.可变数据类型 和 不可变数据类型 都有哪些?

可变数据类型:list(列表)、dict(字典)、set(集合,不常用)

不可变数据类型:数值类型(int、float、bool)、string(字符串)、tuple(元组)


3.专业名词解释

可变数据类型:当该数据类型对应的变量的值发生了变化时,如果它对应的内存地址不发生改变,那么这个数据类型就是 可变数据类型

不可变数据类型:当该数据类型对应的变量的值发生了变化时,如果它对应的内存地址发生了改变,那么这个数据类型就是 不可变数据类型

总结:可变数据类型更改值后,内存地址不发生改变。不可变数据类型更改值后,内存地址发生改变。


4.代码举例说明

4.1 数值数据类型

# 数值数据类型
number = 1
print(id(number),type(number))

number = 2    # 重新赋值
print(id(number),type(number))

# 结果
1738921008 <class 'int'>
1738921024 <class 'int'>

总结:数值数据类型,同一个变量,一旦重新赋值,内存地址就会发生改变。


4.2 字符串数据类型

# 字符串数据类型
name = 'Super Man 超人'
print(id(name),type(name))

name = 'Iron Man 钢铁侠'
print(id(name),type(name))

# 结果
56870552 <class 'str'>
64772320 <class 'str'>

总结:字符串数据类型,同一个变量,一旦重新赋值,内存地址就会发生改变。


4.3 元组数据类型

# 元组数据类型
tuple_data1 = (1,'Hello')
print(id(tuple_data1),type(tuple_data1))

tuple_data2 = ([2,3],(5,6))    # 创建新的元组

tuple_data1 = tuple_data1 + tuple_data2    # 两个元组进行连接
print(id(tuple_data1),type(tuple_data1))    # 打印连接之后的内存地址

print(tuple_data1)    # 打印连接后的数据


# 结果
91584352 <class 'tuple'>
91143888 <class 'tuple'>
(1, 'Hello', [2, 3], (5, 6))

总结:判断元组数据类型相对麻烦一些,因为元组数据类型类似于列表数据类型,元组内可以存储 数值类型、字符串、列表、元组,但是元组一经创建,内部的元素的值就不能修改,否则报错。但是我们可以对元组进行连接组合。在例子中可以看到,同一个变量,将两个元组的值进行连接赋值给变量,然后打印变量内存地址发生改变。所以做出判断,元组是不可变数据类型


4.4 列表数据类型

# 列表数据类型
list_data = [1,'q','qwer',True]
print(id(list_data),type(list_data))

list_data.append('djx')    # 调用 append 添加方法,添加数据
print(id(list_data),type(list_data))

# 结果
88407856 <class 'list'>
88407856 <class 'list'>

总结:列表数据类型,同一个变量,添加新值之后,内存地址不会发生改变。


4.5 字典数据类型

# 字典数据类型
dict_data = {2: 1, 'key2': 'djx', 'key3': 'li'}
print(id(dict_data), type(dict_data))

dict_data['key4'] = 'haha'    # 往字典中添加一个键值对
print(id(dict_data), type(dict_data))

# 结果
86364208 <class 'dict'>
86364208 <class 'dict'>

 总结:字典数据类型,同一个变量,添加新值之后,内存地址不会发生改变。


4.6 集合数据类型

# 集合数据类型
set_data = {1, 'd', '34', '1', 1}
print(id(set_data), type(set_data))

set_data.add('djx')    # 添加元素
print(id(set_data), type(set_data))

# 结果
84993488 <class 'set'>
84993488 <class 'set'>

总结:集合数据类型,同一个变量,添加新值之后,内存地址不会发生改变。


5.表格图

数据类型可变/不可变
整型不可变
字符串不可变
元组不可变
列表可变
字典可变
集合可变

非常感谢同仁的观看.如果小编写的有问题,欢迎评论.发现问题后会第一时间修改.

祝大家工作顺利.    ♥(ˆ◡ˆԅ)   

 

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值