Python之变量的创建过程

一、变量创建过程

首先,当我们定义了一个变量name = ‘Kwan’的时候,在内存中其实是做了这样一件事:

程序开辟了一块内存空间,将’Kwan’存储进去,再让变量名name指向’Kwan’所在的内存地址。如下图所示:

我们可以通过id()方法查看这个变量在内存中的地址。

name = 'Kwan'

print(id(name))

二、变量的修改

一般我们认为修改一个变量就是用新值把就旧值覆盖掉,可Python真是这么实现的么?

name = 'Kwan'

print(id(name))

name = 'Kobe'

print(id(name))

实际的原理是什么样的呢?程序先申请了一块内存空间来存储’Kwan’,让name变量名指向这块内存空间,往下执行name = ‘Kobe’之后,又申请了另一块内存空间来存储’Kobe’,并让原本指向’Kwan’内存的链接断开,让name再指向’Kobe’。

三、变量的指向关系

问:下面这段代码为何出现这样的现象?

name1 = 'Kwan'

name2 = name1

print(name1, name2)

name1 = 'Kobe'

print(name1, name2)

要想知道上面问题的结果是为什么,首先要了解再内存中两个变量的存储情况。

从上面的示意图中我们可以知道,当执行name2 = name1时,事实上时让name2指向了’Kwan’所在的内存地址。

修改name1的值,相当于断开了name1到’Kwan’的链接,重新建立name1和’Kobe’之间的链接。在这个过程中,始终没有影响到name2和’Kwan’之间的关系,因此name2还是’Kwan’,而name1变成了’Kobe’。

python云变量_Python之变量的创建过程相关推荐

  1. python不能创建新变量_Python之变量的创建过程!

    Python之变量的创建过程 一.变量创建过程 首先,当我们定义了一个变量name = 'Kwan'的时候,在内存中其实是做了这样一件事: 程序开辟了一块内存空间,将'Kwan'存储进去,再让变量名n ...

  2. python怎么创建变量_Python之变量的创建过程

    Python之变量的创建过程 一.变量创建过程 首先,当我们定义了一个变量name = 'Kwan'的时候,在内存中其实是做了这样一件事: 程序开辟了一块内存空间,将'Kwan'存储进去,再让变量名n ...

  3. python静态变量_python静态变量

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我这里的代码实现了静态变量的装饰器. 但是,我发现如果我多次运行这个函数,每次调 ...

  4. python清除所有变量_python清除变量

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 否则,抛出异常(具体参见异常说明)删除文件库方法签名:delete()方法说明: ...

  5. python赋值语句格式_Python中变量和变量赋值的几种形式

    动态类型的语言 python是动态类型的语言,不需要声明变量的类型. 实际上,python中的变量仅仅只是用来保存一个数据对象的地址.无论是什么数据对象,在内存中创建好数据对象之后,都只是把它的地址保 ...

  6. python 声明变量_Python的变量声明

    Python 与大多数其它语言一样有局部变量和全局变量之分,但是它没有明显的变量声明.变量通过首次赋值产生,当超出作用范围时自动消亡. Example 1. 定义 myParams 变量 if __n ...

  7. python函数里面引用外部变量_Python基础 变量进阶

    目标 变量的引用 可变和不可变类型 局部变量和全局变量 01. 变量的引用 变量 和 数据 都是保存在 内存 中的 在 Python 中 函数 的 参数传递 以及 返回值 都是靠 引用 传递的 1.1 ...

  8. python局部变量含义_Python的变量

    1. 概念 Python变量是用于存储值所在的内存位置.换句话说,python程序中的变量将数据提供给计算机进行处理. Python中的每个值都有一个数据类型.Python中不同的数据类型是Numbe ...

  9. python定义变量_Python基础 变量的基本使用

    变量的基本使用 程序就是用来处理数据的,而变量就是用来存储数据的 目标 变量定义 变量的类型 变量的命名 01. 变量定义 在 Python 中,每个变量 在使用前都必须赋值,变量 赋值以后 该变量 ...

最新文章

  1. python减少内存_如何降低 Python 的内存消耗量?
  2. WebAssembly 系列(五)为什么 WebAssembly 更快?
  3. 洛谷 P2486 [SDOI2011]染色 LCT
  4. 世界上最欢乐的职业,可能就是蹦极的工作人员了!
  5. 蓝桥杯2016初赛-网友年龄-枚举
  6. localstorage本地缓存
  7. 2020全国高考作文题出炉!网友:信心满满的点开,一脸懵逼的退出
  8. ggsci | ggplot2的颜色标度拓展包(1):科研配色风格
  9. 如何生成一副Poker
  10. 删库跑路事件发生,SaaS 云服务如何守护数据安全?
  11. Openfire:安装指南
  12. 根据excel生成mysql数据库,根据excel生成数据库脚本
  13. 全国行政区划代码(身份证前六位)
  14. tab切换之图片切换
  15. STVP提示The device is protected解决方法
  16. 常规操作系统Windows系统淋雨系统Unix系统netware等系统介绍分析
  17. c++ PDFium pdf转为图片(实例)
  18. 跨境电商国外消费者线上购物心理分析
  19. 用ADC0809实现八通道采集
  20. 示波器如何设置XY模式

热门文章

  1. pythonsklearn多元回归回归_用sklearn进行多元线性回归
  2. python数据分析知识整理_Python基础知识点总结:数据分析从0到大师必Mark的一篇!(上)...
  3. Buildroot构建指南——Linux内核
  4. Android Studio生成aar包的方法以及解压aar包的方法
  5. cnil在python_在Python中匹配组
  6. f1 score 代码_腾讯广告算法大赛冠军代码解读:稠密特征工程
  7. android纵向列表菜单栏实现,RecyclerView实现常见的列表菜单
  8. php+insert+into+注入,PHP+MySQL之Insert Into数据插入用法分析
  9. golang语言学第四课:循环
  10. Apache优化——日志管理