关于引用(python中的伪指针)的理解
# 总结:个人理解,引用不可变的的变量时,随着改变会指向新的地址 # 引用可变的变量时,位置不会随着变量改变而改变 a = 1 b = a print(b) a = 2 # 指向了新的内存地址 print(a) print(b) # b不会变 c = 100 d = 100 print(id(c), id(d)) a = [1, 2] b = a print(a) print(b) a.append(3) # 这里指向的是同一个内存地址 print(a) # b跟着改变了 print(b) # 深拷贝和浅拷贝,内存里的位置不同
------- 知识无价,汗水有情,如需搬运请注明出处,谢谢!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
lambda函数常见用法
# lambda 参数:返回值/表达式 # print((lambda :100)()) # f = lambda a,b : a + b # print(f(10, 20)) # f = lambda a,b,c=100: a + b + c # print(f(10, 20,200)) # print( (lambda *args:args)(20, 30, 40, 50) ) # 不定长参数 -- 可变参数 # *args位置参数 -- 返回一个列表 2 还有a=100,b=200 ---- args的列表和a和b做合并 # print((lambda *args,a=100,b=200:list(args) + [a, b])(10, 20, 30)) # **kwargs # print((lambda **kwargs:kwargs)(name='python',age=28)) # 键值对互转 # {value:key for key,value in kwargs.items()} # print((lambda **kwargs:{value:key for key,...
- 下一篇
引用传递函数值
def test1(b): # 变量b一定是一个局部变量,就看它指向的是谁?可变还是不可变 b += b # += 是直接对b指向的空间进行修改,而不是让b指向一个新的 # b = b+b # xx = xx+yyy 先把=号右边的结果计算出来,然后让b指向这个新的地方,不管原来b指向谁 # 现在b一定指向这个新的地方 # a = [11, 22] a = 100 test1(a) print(a) # Python中函数参数是引用传递(注意不是值传递) # 对于不可变类型,因变量不能修改,所以运算不会影响到变量自身 # 而对于可变类型来说,函数体中的运算有可能会更改传入的参数变量 -------知识无价,汗水有情,如需搬运请注明出处,谢谢!
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装Docker,最新的服务器搭配容器使用
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7安装Docker,走上虚拟化容器引擎之路