python中将类传给函数,在函数中修改类的值的问题
来源:互联网 发布:linux查看samba服务 编辑:程序博客网 时间:2024/06/05 20:04
作者:openkai
链接:https://www.zhihu.com/question/32003140/answer/54293695
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
链接:https://www.zhihu.com/question/32003140/answer/54293695
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
说得具体点可以把python的变量理解成一个名字指向实际的值,在传到函数里的时候, 是告诉函数的变量名字也指向我的这个值,但是并不是我自己传到函数内
比如foo = [1,2,3] 可以理解成为foo指向[1,2,3],foo和[1,2,3]并不是在一起
现在有个函数
比如foo = [1,2,3] 可以理解成为foo指向[1,2,3],foo和[1,2,3]并不是在一起
现在有个函数
def alter(bar): bar.append(4) bar = [0,1]
如果我们把foo传给alter这个函数,
alter(foo)
就会有foo和bar分别指向[1,2,3]
执行bar.append(4)
因为bar指向[1,2,3], [1,2,3]现在变成[1,2,3,4]
因为foo也指向[1,2,3],现在被bar改成了[1,2,3,4],foo也是[1,2,3,4]
执行bar = [0,1]
bar指向一个新的[0,1],但是foo还是指向[1,2,3,4]
运行完alter函数foo是[1,2,3,4]
所以理论上不是传引用,如果穿引用foo在执行完alter函数后应该是[0,1]
def alter(bar): bar.append(4) bar = [0,1]foo = [1,2,3]print 'foo', fooalter(foo)print 'foo', foo
0 0
- python中将类传给函数,在函数中修改类的值的问题
- python 中将一个函数的输出写入到文件中
- 在action中将数据传给页面的三种方式
- Python在函数中使用全局变量的问题
- 【JavaScript】JavaScript的对象-在函数中修改参数值的问题
- Java中如何在函数中修改参数的值
- 在函数中申请内存,使用参数传递方式将此内存的首地址传给实参
- 如果在const函数中修改一个变量的值
- 在python中将回调函数传给c动态库
- 在类模板中使用友元函数的问题
- python中filter函数的使用问题
- python中replace函数的问题
- 将第十四周的阅读程序中的Vehicle类的定义修改为纯虚函数,找出main()函数中将使编译出错的行删除
- 在C#中将.bmp转为.jpg格式的函数
- python 通过函数无返回的修改数据结构,在函数外部,数据结构也可被修改
- python内部函数怎么修改外部函数的值?
- jsp中怎么将jsp定义的参数传给javascript定义的函数???
- jsp中怎么将jsp定义的参数传给javascript定义的函数?急
- 最近使用了asp.net,iis安装
- 项目中二级缓存理解,以hibernate为例
- Codeforces Round #363 (Div. 2) D. Fix a Tree —— 并查集
- c# 开源框架整理
- 人脸识别之人脸检测
- python中将类传给函数,在函数中修改类的值的问题
- WinForm之选择本地文件
- [每日问答]包含L1正则化项的目标函数如何求导?
- c程序设计语言第二版1.18
- 【php基础班】第6天 padding_margin、CSS背景、CSS Sprite、CSS表格属性、CSS浮动与清除
- java 关于wait 和notify
- StackTraceElement的简单使用
- HDU 1251
- linux软件管理学习笔记