python不能创建新变量_Python之变量的创建过程!
Python之变量的创建过程
一、变量创建过程
首先,当我们定义了一个变量name = 'Kwan'的时候,在内存中其实是做了这样一件事:
程序开辟了一块内存空间,将'Kwan'存储进去,再让变量名name指向'Kwan'所在的内存地址。如下图所示:Python资源共享群:626017123
我们可以通过 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之变量的创建过程!相关推荐
- R语言dataframe创建新的特征(变量)、行加和特征、行均值特征(基于加减乘除、指数、模数等操作符)、创建新的特征(变量)、生成编码特征(基于比较操作符、逻辑操作符)
R语言dataframe创建新的特征(变量).行加和特征.行均值特征(基于加减乘除.指数.模数等操作符).为dataframe创建新的特征(变量).生成编码特征(基于比较操作符.逻辑操作符) 目录
- python函数里面引用外部变量_Python基础 变量进阶
目标 变量的引用 可变和不可变类型 局部变量和全局变量 01. 变量的引用 变量 和 数据 都是保存在 内存 中的 在 Python 中 函数 的 参数传递 以及 返回值 都是靠 引用 传递的 1.1 ...
- python静态变量_python静态变量
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我这里的代码实现了静态变量的装饰器. 但是,我发现如果我多次运行这个函数,每次调 ...
- python定义变量_Python基础 变量的基本使用
变量的基本使用 程序就是用来处理数据的,而变量就是用来存储数据的 目标 变量定义 变量的类型 变量的命名 01. 变量定义 在 Python 中,每个变量 在使用前都必须赋值,变量 赋值以后 该变量 ...
- python怎么定义一个数字_Python数字变量定义赋值
一.任务描述 本实验的任务主要对Python的变量赋值进行基本操作,通过完成本实验任务,要求学生熟练掌握Python的变量赋值与定义,并对Python变量的基本操作进行整理并填写工作任务报告. 二.任 ...
- python清除所有变量_python清除变量
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 否则,抛出异常(具体参见异常说明)删除文件库方法签名:delete()方法说明: ...
- python 声明变量_Python的变量声明
Python 与大多数其它语言一样有局部变量和全局变量之分,但是它没有明显的变量声明.变量通过首次赋值产生,当超出作用范围时自动消亡. Example 1. 定义 myParams 变量 if __n ...
- python如何复制一个变量_Python中变量、赋值、浅拷贝、深拷贝
在理解浅拷贝和深拷贝之前,首先要理解学习一下变量在Python中是怎样存储的: 变量的类型是分值引用与地址引用两种. python的一切变量都是对象,变量的存储,采用了地址引用的方式,存储的只是一个变 ...
- python 文件路径 变量_python路径变量
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 开发准备cas 的 python sdk 包含了用于访问和操作 cas 的所有 ...
- 怎么设置python解释器path变量_python环境变量设置
在默认情况下,在windows下安装python之后,系统并不会自动添加相应的环境变量.此时不能在命令行直接使用python命令. python环境变量设置 1. 首先需要在系统中注册python环境 ...
最新文章
- 黑白青春-纪念那年我的秋天
- 别再打字聊bug了,GitHub支持“视频留言”!手机也可以的那种
- 说出你的个人知识问题!
- NYOJ 311 完全背包
- linux下执行shell脚本文件,Linux下使用shell脚本自动执行脚本文件
- 移动app崩溃原因及场景
- 如何实现远程登陆,如何实现远程桌面
- shiro学习(15):使用注解实现权限认证和后台管理
- 在Spring+Hibernate项目中使用原生SQL进行查询和执行SQL处理
- DRL实战 : Dynamic Programming
- 北京54坐标和经纬度坐标转换算法(C++)
- S32K1xx 系列安全手册
- java 回收器有几种_Java垃圾回收器种类
- 计算机基础(01)基础知识
- 2022-2028年中国饮用水市场投资分析及前景预测报告(全卷)
- ffmpeg 图像格式转换
- ie浏览器代理设置方法 怎么给IE浏览器设置代理?
- Failed to introspect Class [org.springframework.cloud.context.properties.ConfigurationPropertiesBean
- 百度图神经网络7日打卡营--DAY01前半部分 总结
- wcs开发_WCS 5.2的评论—用于Webcast和Webcam开发人员的WebRTC服务器
热门文章
- python分类器鸢尾花怎么写_python机器学习基础教程-鸢尾花分类
- springmvc + springboot + mybatis java b2b2c电子商城系统源码...
- Shell---for循环
- JS实现-页面数据无限加载
- tomcat配置manager
- JAVA wait(), notify(),sleep具体解释
- linux 中 timeval结构体 - Neddy11 - 博客园
- 周末思考:浅谈如何成为技术一号位?
- 并发编程中一种经典的分而治之的思想!!
- 遇到网络问题你是怎么解决的?安琪拉有二招