python云变量_Python之变量的创建过程
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之变量的创建过程相关推荐
- python不能创建新变量_Python之变量的创建过程!
Python之变量的创建过程 一.变量创建过程 首先,当我们定义了一个变量name = 'Kwan'的时候,在内存中其实是做了这样一件事: 程序开辟了一块内存空间,将'Kwan'存储进去,再让变量名n ...
- python怎么创建变量_Python之变量的创建过程
Python之变量的创建过程 一.变量创建过程 首先,当我们定义了一个变量name = 'Kwan'的时候,在内存中其实是做了这样一件事: 程序开辟了一块内存空间,将'Kwan'存储进去,再让变量名n ...
- python静态变量_python静态变量
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我这里的代码实现了静态变量的装饰器. 但是,我发现如果我多次运行这个函数,每次调 ...
- python清除所有变量_python清除变量
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 否则,抛出异常(具体参见异常说明)删除文件库方法签名:delete()方法说明: ...
- python赋值语句格式_Python中变量和变量赋值的几种形式
动态类型的语言 python是动态类型的语言,不需要声明变量的类型. 实际上,python中的变量仅仅只是用来保存一个数据对象的地址.无论是什么数据对象,在内存中创建好数据对象之后,都只是把它的地址保 ...
- python 声明变量_Python的变量声明
Python 与大多数其它语言一样有局部变量和全局变量之分,但是它没有明显的变量声明.变量通过首次赋值产生,当超出作用范围时自动消亡. Example 1. 定义 myParams 变量 if __n ...
- python函数里面引用外部变量_Python基础 变量进阶
目标 变量的引用 可变和不可变类型 局部变量和全局变量 01. 变量的引用 变量 和 数据 都是保存在 内存 中的 在 Python 中 函数 的 参数传递 以及 返回值 都是靠 引用 传递的 1.1 ...
- python局部变量含义_Python的变量
1. 概念 Python变量是用于存储值所在的内存位置.换句话说,python程序中的变量将数据提供给计算机进行处理. Python中的每个值都有一个数据类型.Python中不同的数据类型是Numbe ...
- python定义变量_Python基础 变量的基本使用
变量的基本使用 程序就是用来处理数据的,而变量就是用来存储数据的 目标 变量定义 变量的类型 变量的命名 01. 变量定义 在 Python 中,每个变量 在使用前都必须赋值,变量 赋值以后 该变量 ...
最新文章
- python减少内存_如何降低 Python 的内存消耗量?
- WebAssembly 系列(五)为什么 WebAssembly 更快?
- 洛谷 P2486 [SDOI2011]染色 LCT
- 世界上最欢乐的职业,可能就是蹦极的工作人员了!
- 蓝桥杯2016初赛-网友年龄-枚举
- localstorage本地缓存
- 2020全国高考作文题出炉!网友:信心满满的点开,一脸懵逼的退出
- ggsci | ggplot2的颜色标度拓展包(1):科研配色风格
- 如何生成一副Poker
- 删库跑路事件发生,SaaS 云服务如何守护数据安全?
- Openfire:安装指南
- 根据excel生成mysql数据库,根据excel生成数据库脚本
- 全国行政区划代码(身份证前六位)
- tab切换之图片切换
- STVP提示The device is protected解决方法
- 常规操作系统Windows系统淋雨系统Unix系统netware等系统介绍分析
- c++ PDFium pdf转为图片(实例)
- 跨境电商国外消费者线上购物心理分析
- 用ADC0809实现八通道采集
- 示波器如何设置XY模式
热门文章
- pythonsklearn多元回归回归_用sklearn进行多元线性回归
- python数据分析知识整理_Python基础知识点总结:数据分析从0到大师必Mark的一篇!(上)...
- Buildroot构建指南——Linux内核
- Android Studio生成aar包的方法以及解压aar包的方法
- cnil在python_在Python中匹配组
- f1 score 代码_腾讯广告算法大赛冠军代码解读:稠密特征工程
- android纵向列表菜单栏实现,RecyclerView实现常见的列表菜单
- php+insert+into+注入,PHP+MySQL之Insert Into数据插入用法分析
- golang语言学第四课:循环
- Apache优化——日志管理