学习过python函数使用的小伙伴应该都知道python函数传递参数是根据函数已有的形参去传递的,但是python函数的传参也会根据值的不同而分为不同的机制。下面这一篇文章就会来详细的讲解一下python函数的传参机制,往下看看吧。
python函数在调用的时候会将实际的参数对象放在函数的括号内,这个叫做实参。而函数在定义的写的没有实际值的参数名叫做形参,那么这鸽传参的过程会根据实参的值分为值传递和地址传递。
一、值传递
只要函数的实参是不可变类型的参数那么就都是值传递,也就是数字、集合这种数据类型。那么值传递的关键就在于函数传递实参的时候其实是将这个对象的副本传递进去,不管在函数内会去这个对象执行任何操作都不会对外部产生影响,示例如下:
def swap(a , b) : a, b = b, a print("swap函数里,a的值是", a, ";b的值是", b) a = 6 b = 9 # a和b的值不会改变 swap(a , b)
二、地址传递
列表和字典、字符串这种数据类型的对象当做函数的实参传递的时候是会直接的将对象的内存地址也一起的传递到函数之中去,当函数之中实参的值发生改变时主程序中实参对象的值也会发生改变,示例如下:
def swap(dw): dw['a'], dw['b'] = dw['b'], dw['a'] dw = {'a': 6, 'b': 9} swap(dw)
以上就是python函数传递参数机制的详细讲解了,希望对你有所帮助。
更多python相关文章请访问分类:python
【版权声明】本文图文出自大盘站@dapan.cc,转载请注明出处!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。