python中的变量引用小结
python的变量都可以看成是内存中某个对象的引用。(变量指向该内存地址存储的值)
1.python中的可更改对象和不可更改对象
python中的对象可以分为可更改(mutable)对象与不可更改(immutable)对象
- strings, tuples, 和numbers是不可更改的对象
- list,dict等则是可以修改的对象。 如果某个变量指向不可更改的对象,则重新赋值时。原对象被抛弃,变量会指向一个新对象。 若指向的是可更改的对象,则重新赋值时,会也会重新赋值内存中对象的值。
如图:nfoo是numbers为不可更改对象,lstFoo是list为可更改对象 
当重新赋值时,发生的改变如下图
注意若lstFoo整个list变量重新赋值,则还是新开辟一个内存对象,lstFoo再指向新的内存对象 ### 2.python的函数是引用调用,还是传值调用?
在函数参数传值时,变量也是内存对象的引用。 当对象为可更改对象时,是引用调用,函数内参数的改变会影响到原始对象。 当对象为不可更改对象时,就只是相当于传值调用。
python中的变量引用小结的更多相关文章
- Python中的变量引用对象需注意的几点
Python中的变量引用对象需注意的几点 分类:Python (55) (0) 普通引用: Python中,变量的作用仅仅是一个标识,只有赋值后才被创建,它可以引用任何类型的对象,而且在引用之前必须 ...
- python中的变量对象小结2
# .变量名和数据内容是分开存储的. # .数据保存在内存中的一个位置(地址). # .变量中保存着数据在内存中的地址. # 引用就是变量中记录数据的地址. #不可变变量,重新赋值时会重新开辟一个地址 ...
- Python中的变量、引用、拷贝和作用域
在Python中,变量是没有类型的,这和以往看到的大部分编辑语言都不一样.在使用变量的时候,不需要提前声明,只需要给这个变量赋值即可.但是,当用变量的时候,必须要给这个变量赋值:如果只写一个变量,而没 ...
- python学习(九)python中的变量、引用和对象的关系
<Think In Java>中说到过"万事万物皆对象",这句话也可以用在Python中. 感觉Python中的变量有点像Javascript中的变量,是弱类型的,但是 ...
- Python 中的变量
Python采用基于值得内存管理模式,赋值语句的执行过程是:首先把等号右侧标识的表达式计算出来,然后在内存中找一个位置把值存放进去,最后创建变量并指向这个内存地址.Python中的变量并不直接存储值, ...
- Python中的变量和常量
本文主要介绍Python中的变量和常量,包括变量的命名规范,使用注意事项 -------------- 完美的分割线 --------------- 1.变量 1.1.变量理解 1)什么是变量 变量即 ...
- python中的变量与对象
一. 什么是变量 变量就是以前学习的数学中常见的等式x = 3(x是变量,3是变量值),在编程中,变量不仅可以是数学,还可以是任意数据类型 二. 变量的命名规则 变量名必须是英文大小写.数字和_的组合 ...
- Python中的变量和作用域详解
Python中的变量和作用域详解 python中的作用域分4种情况: L:local,局部作用域,即函数中定义的变量: E:enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部 ...
- MyBatis mapper文件中的变量引用方式#{}与${}的差别
MyBatis mapper文件中的变量引用方式#{}与${}的差别 #{},和 ${}传参的区别如下:使用#传入参数是,sql语句解析是会加上"",当成字符串来解析,这样相比于$ ...
随机推荐
- 如何做好Essay Proofreading?
终于写完了一篇Essay,瞬间感觉人生轻松了好多!别急,想要Essay最终得到高分,你还需要最后一步:论文润色! 换句话说,就是我们需要写完的Essay进行检查校对.那么我们一般需要校对的部分有哪些呢 ...
- expresscache和primocache加速资料整理-centos7缓存加速
expresscache和primocachehttp://www.360doc.com/content/16/0111/17/256680_527142090.shtml 安装expresscach ...
- JSTL与EL表达式(为空判断)
JSTL与EL表达式(为空判断) 一.循环遍历集合 1.在jsp中引入标准函数声明 <%@ taglib uri="http://java.sun.com/jsp/jstl/cor ...
- 关于Pytorch中autograd和backward的一些笔记
参考自<Pytorch autograd,backward详解>: 1 Tensor Pytorch中所有的计算其实都可以回归到Tensor上,所以有必要重新认识一下Tensor. 如果我 ...
- 18个python的高效编程技巧
01 交换变量 >>>a=3 >>>b=6 这个情况如果要交换变量在c++中,肯定需要一个空变量.但是python不需要,只需一行,大家看清楚了 >>& ...
- C++ 操作数据库类
#pragma once #include <string> #include <windows.h> #include <algorithm> #include ...
- tensorflow函数参数查看
参考博客: https://www.cnblogs.com/wendj/archive/2018/09/21/9685012.html 第三步:鼠标放到函数名,按住ctrl即可查看
- 使用connected-react-router使router与store同步
connected-react-router是一个绑定react-router到redux的组件,来实现双向绑定router的数据到redux store中,这么做的好处就是让应用更Redux化,可以 ...
- 步进电机加减速S曲线算法
一.Sigmoid 函数 1.1 Sigmoid函数原型 1.2 sigmoid函数波形: 由图形可看出在-10时已经接近于0,一般取值区间在[-5,5]. 1.3 sigmoid函数的导数 转载CS ...
- Bugku杂项(1—28)
1.签到题 只要关注公众号就可以得到 flag---开胃菜 2.这是一张单纯的图片 用Winhex打开,会发现最下面有一行编码: key{you are right} 是一串HTML编码,解密下就行了 ...