1. 不可变类型

不可变类型,内存中的数据不允许被修改(一旦被定义,内存中分配了小格子,就不能再修改内容了):

  • 数字类型int,bool,float,complex,long(2,x)
  • 字符串str
  • 元组tuple

2. 可变类型

可变类型,内存中的数据可以被修改(可以通过变量名调用方法来修改列表和字典内部的内容,而内存地址不发生变化):

  • 列表list
  • 字典dict(注:字典中的key只能使用不可变类型的数据)

注:给变量赋新值的时候,只是改变了变量的引用地址,不是修改之前的内容

  1. 可变类型的数据变化,是通过方法来实现的
  2. 如果给一个可变类型的变量,复制了一个新的数据,引用会修改(变量从之前的数据上撕下来,贴到新赋值的数据上)

3. 代码演示

# 新建列表
a = [1, 2, 3]
print("列表a:", a)
print("列表a的地址:", id(a))
print("*"*50)
# 追加元素
a.append(999)
print("列表a:", a)
print("列表a的地址:", id(a))
print("*"*50)
# 移除元素
a.remove(2)
print("列表a:", a)
print("列表a的地址:", id(a))
print("*"*50)
# 清空列表
a.clear()
print("列表a:", a)
print("列表a的地址:", id(a))
print("*"*50)
# 将空列表赋值给变量a
a = []
print("列表a的地址:", id(a))   # 通过输出可以看出地址发生了变化
print("*"*50)
# 新建字典
d = {"name": "xiaoming"}
print("字典d为:", d)
print("字典d的地址:", id(d))
print("*"*50)
# 追加键值对
d["age"] = 18
print("字典d为:", d)
print("字典d的地址:", id(d))
print("*"*50)
# 删除键值对
d.pop("age")
print("字典d为:", d)
print("字典d的地址:", id(d))
print("*"*50)
# 清空所有键值对
d.clear()
print("字典d为:", d)
print("字典d的地址:", id(d))
print("*"*50)
# 对d赋值空字典
d = {}
print("字典d为:", d)
print("字典d的地址:", id(d))
print("*"*50)

4. 运行结果

可变类型(列表和字典)的数据变化,是通过方法(比如append,remove,pop等)来实现的,不会改变地址。而重新赋值后地址会改变。具体运行结果如下图所示:

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(文末获取!)

温馨提示:篇幅有限,已打包文件夹,获取方式在“文末”!!!

二、Python必备开发工具

三、精品Python学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

四、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

六、Python练习题

检查学习结果。

七、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

Python-可变和不可变类型相关推荐

  1. python函数用法详解2(变量的作用域(全局变量、局部变量)、共享全局变量、函数返回值、函数的参数(位置参数、关键字参数、默认参数、不定长参数)、拆包、交换变量值、引用、可变和不可变类型)

    1. 变量作⽤域         变量作⽤域指的是变量⽣效的范围,主要分为两类:局部变量和全局变量. 局部变量         定义在函数体内部的变量,即只在函数体内部⽣效. def testA(): ...

  2. python中变量类型在程序中可以改变_python的可变与不可变数据类型

    首先,我们需要知道在python中哪些是可变数据类型,哪些是不可变数据类型.可变数据类型:列表list和字典dict:不可变数据类型:整型int.浮点型float.字符串型string和元组tuple ...

  3. python 可变 与 不可变类型

    一.Python对象 见<Python 核心编程> 二.可变与不可变 python的数据类型和c不太一样,有一种分类标准,可变(mutable)/不可变(immutable). 我理解的可 ...

  4. Python基础day05【函数(局部变量、全局变量、多函数执行流程、函数返回值、函数参数)、拆包、引用、可变与不可变类型、函数注意事项】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day05[函数(函数传参的两种形式.函数形参).拆包.引用.可变与不可变类型.引 ...

  5. Python基础day05【函数(函数传参的两种形式、函数形参)、拆包、引用、可变与不可变类型、引用做函数参数注意点】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员]    目录 0.复习 1.函数传参的两种形式[掌握] 2.函数形参 2.1.缺省参数(默认参数) ...

  6. python四种可变类型_SICP Python 描述 2.4 可变数据

    2.4 可变数据 我们已经看到了抽象在帮助我们应对大型系统的复杂性时如何至关重要.有效的程序整合也需要一些组织原则,指导我们构思程序的概要设计.特别地,我们需要一些策略来帮助我们构建大型系统,使之模块 ...

  7. Python可变与不可变类型及垃圾回收机制

    1. 可变与不可变类型 1.1  可变类型 在id不变的情况下,value可以改变,则称之为可变类型.列表.字典与集合是可变的. l1 = [1,2,3,4,5] print(id(l1)) l1[1 ...

  8. Python组合数据类型:容器类型总览,(不)可变数据类型immutable、(不)可迭代对象iterable、迭代器iterator、生成器generator、语法糖

    一.组合数据类型container objects 组合数据类型container objects:能够表示多个数据的类型 集合类型:集合类型是一个元素集合,元素无序不重不变 序列类型:序列类型是一个 ...

  9. Python中的可变和不可变类型

    Python的六大数据类型: 数字(Number) 字符串(String) 元组(Tuple) 列表(List) 集合(Set) 字典(Dictionary) Python的可变和不可变数据类型: 可 ...

  10. python列表可变吗_Python 可变和不可变类型

    附件: 02.07 Python 可变和不可变类型.html 284.9K · 百度网盘 正文: 可变和不可变类型 列表是可变的(Mutable)¶ In [1]: a = [1,2,3,4] a O ...

最新文章

  1. LeetCode简单题之重塑矩阵
  2. 1.5 卷积步长-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  3. 白话Elasticsearch33-深入聚合数据分析之案例实战bucket + metrics 统计每种颜色电视平均价格
  4. springboot基于全局异常处理的简单日志打印
  5. [HAOI2016]食物链
  6. 程序员面试金典 - 面试题 08.14. 布尔运算(区间动态规划)
  7. 计算机活动感悟怎么写,计算机教学心得体会范文五篇.doc
  8. mysql limit函数
  9. Keil5消除未调用警告
  10. python3怎么安装docx_如何在 Python 3.4 上安装 python-docx
  11. 推导多元最小二乘法的计算方法
  12. js:常用的3种弹出提示框(alert、confirm、prompt)
  13. numpy手写NLP模型(四)———— RNN
  14. Ubuntu下邮件服务器的配置——SendMail
  15. 我自己常用的几个JS深浅拷贝的方法
  16. Java多线程篇--concurrentHashMap
  17. python手把手教你创作趣味词云(保姆级贴心)
  18. 蓝桥杯试题 基础练习 矩形面积交 BASIC-18 JAVA
  19. qrcode二维码生成工具
  20. 追赶法(Thomas) 雅克比迭代(Jacobi) 高斯迭代(Gauss) 的C++实现

热门文章

  1. 编译openwrt n2n遇到错误
  2. Java发送邮件中文乱码问题
  3. Informatica Update机制
  4. 网站忘记密码怎么找回?
  5. 山顶应试流V1.0——中国应试教育备考方法
  6. workspace\.metadata\.plugins\org.eclipse.wst.server.core
  7. 【Elasticsearch 权威指南学习笔记】结构化搜索
  8. vue手把手教你实现论坛bbs——(一)项目骨架
  9. 两个向量构成的平行四边形面积的求解 ————简单技巧
  10. 构建计算机网络的难点,2017中国石油大学继续教育计算机网络基础答案难点.docx...