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.表格图

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

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

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

python可变数据类型和不可变数据类型相关推荐

  1. 一道问题引出的python中可变数据类型与不可变数据类型

    一. 问题的提出 我们先来看两个对比 第一道题,当对象为整数时,最终结果:b = 2, a = 1,b的变化没有引起a的变化 a = 1 b = a b += 1print(a) print(b)结果 ...

  2. Python当中的a += a 与 a = a + a 的区别,可变类型与不可变类型的数据类型,引用传参...

    a += a 与 a = a + a 的区别 可变类型a = a + a 的示例 In [58]: a = [11,22]In [59]: id(a) Out[59]: 140702917607688 ...

  3. python可变数据类型与不可变数据类型

    转载自: https://www.cnblogs.com/lfpython/p/7207747.html 一.什么可变数据类型和不可变数据类型 可变数据类型:value值改变,id值不变:不可变数据类 ...

  4. goupby 两个值 结果变了_一道问题引出的python中可变数据类型与不可变数据类型...

    一. 问题的提出 我们先来看两个对比 第一道题,当对象为整数时,最终结果:b = 2, a = 1,b的变化没有引起a的变化 第二道题,当对象为字典时,最终结果:a = {"name&quo ...

  5. Python 可变数据类型和不可变数据类型 - Python零基础入门教程

    目录 一.关于内存 二.可变数据类型和不可变数据类型 1.可变数据类型和不可变数据类型区别 2.不可变数据类型 3.可变数据类型 三.重点总结 四.猜你喜欢 零基础 Python 学习路线推荐 : P ...

  6. python可变类型和不可变深浅拷贝类型_python3笔记十四:python可变与不可变数据类型+深浅拷贝...

    一:学习内容 python3中六种数据类型 python赋值 python浅拷贝 python深拷贝 二:python3六种数据类型 1.六种数据类型 Number(数字) string(字符串) L ...

  7. python可变数据类型和不可变数据类型_python 可变数据类型和不可变数据类型

    python 可变数据类型和不可变数据类型 发布时间:2020-03-06 12:59:51 来源:51CTO 阅读:288 作者:qq5d6f345f0205e python数据类型分别有整数int ...

  8. 【python基础】python数据类型整理--不可变类型

    python数据类型总结 1.python的数据类型 基本的数据类型:数字型.字符串.元祖.列表.字典.集合 不可变数据类型:数字型.字符串.元祖 可变数据类型:列表.字典.集合 1.1 数字型(nu ...

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

    python数据类型分别有整数int / 浮点数float / 布尔值bool / 元组tuple / 列表list / 字典dict,其中数据类型分为两个大类,一种是可变数据类型:一种是不可变数据类 ...

最新文章

  1. python视频处理教程_Python视频编辑库:MoviePy|python爬虫|python入门|python教程
  2. c++ mmap写入速度_Linux系统编程_用mmap+数组的方式修改数据文件
  3. 蓝桥杯.历届试题: 错误票据
  4. 更新卡片的zIndex
  5. 指针4-指针的运算和指针变量占几个字节
  6. 开VM虚拟机导致内存和磁盘利用率高
  7. 好久没来51cto了。
  8. BeanUtils笔记
  9. 用Python爬取漫画并转换格式为pdf和mobi
  10. imdisk虚拟光驱安装linux,imdisk虚拟磁盘驱动器如何加载iso文件?大白菜ImDisk加载iso文件教程...
  11. 51单片机流水灯画图打板焊元件历程
  12. python3-欢乐斗牛-实战
  13. 南京大学生租房补贴申领必看
  14. 「玩物得志 App」:一家典型的云原生企业,如何在创业早期数次“弯道超车”? | 云原生Talk...
  15. 浏览器无法显示网页解决方法
  16. 高并发累加器 Striped64
  17. 记一次云服务器挖矿病毒处理过程
  18. 谷歌等大型科技公司对你了解多深,你想知道吗?
  19. 扇贝编程python广告演员_‎扇贝编程-人人能学会的python课 az App Store-ban
  20. 读取csv时中文乱码问题

热门文章

  1. 第二章:python必备基础语法
  2. 自学python从字符串开始吧
  3. OpenGL学习笔记 - 计算机图形学和现代图形API
  4. XSSFWorkbook 设置单元格样式_CVA高校精英计划第二弹:执行最佳操作,做好设置准备...
  5. 乓乓响冲刺港股:年营收2.2亿 核心收入靠给幼儿园供餐
  6. js 控制字符串长度 区分中英文
  7. 关于开源框架GPUImage 的简单说明
  8. 自动铅笔的简笔画怎么画,自动化简笔画图片大全
  9. 基于等级保护梳理服务器安全合规基线
  10. 国学大师 master of Chinese culture