不可变对象参数调用
12345
def ChangeInt( a ):a = 10nfoo = 2 ChangeInt(nfoo)print nfoo #结果是2
这时发生了什么,有一个int对象2,和指向它的变量nfoo,当传递给ChangeInt的时候,按照传值的方式,复制了变量nfoo的值,这样,a就是nfoo指向同一个Int对象了,函数中a=10的时候,发生什么?(还记得我上面讲到的那些概念么),int是不能更改的对象,于是 , 做了一个新的int对象,另a指向它(但是此时,被变量nfoo指向的对象 , 没有发生变化) , 于是在外面的感觉就是函数没有改变nfoo的值,看起来像C++中的传值方式 。
可变对象参数调用
12345
def ChangeList( a ):a[0] = 10lstFoo = [2]ChangeList(lstFoo )print nfoo #结果是[10]
当传递给ChangeList的时候,变量仍旧按照“传值”的方式,复制了变量lstFoo 的值,于是a和lstFoo 指向同一个对象 , 但是 , list是可以改变的对象,对a[0]的操作,就是对lstFoo指向的对象的内容的操作,于是,这时的a[0] = 10,就是更改了lstFoo 指向的对象的第一个元素 , 所以 , 再次输出lstFoo 时,显示[10],内容被改变了,看起来,像C++中的按引用传递 。
Python如何向函数传递参数?s=[3,2,5,1]
sorted(s,reverse=True)
默认reverse=False,排序为正序 。传入reverse=True , 排序就是倒序
python3给函数传参的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于python 函数传参、python3给函数传参的信息别忘了在本站进行查找喔 。
推荐阅读
- 小孩如何开通视频号和直播的简单介绍
- vb.net远程控制程序,vbnet控件
- 如何演讲线上营销,线上演讲训练营
- 电脑复制视频为什么慢,电脑不能复制视频
- 红帽子linux编译命令 红帽linux怎么改成中文
- python快速读取文件,python读取文件全部内容
- 清理云服务器,清理云服务器内存
- 农庄背景素材直播视频,农庄直播内容
- vb.net置换 vbnet region