Python的 函数 参数为数据结构和表的区别

来源:互联网 发布:linux命令是什么 编辑:程序博客网 时间:2024/06/05 11:09
a = 1def change_integer(a):    a = a + 1    return aprint change_integer(a)print a#===(Python中 "#" 后面跟的内容是注释,不执行 )b = [1,2,3]def change_list(b):    b[0] = b[0] + 1    return bprint change_list(b)print b

第一个例子,我们将一个整数变量传递给函数,函数对它进行操作,但原整数变量a不发生变化

第二个例子,我们将一个表传递给函数,函数进行操作,原来的表b发生变化

对于基本数据类型的变量,变量传递给函数后,函数会在内存中复制一个新的变量,从而不影响原来的变量。(我们称此为值传递

但是对于表来说,表传递给函数的是一个指针,指针指向序列在内存中的位置,在函数中对表的操作将在原有内存中进行,从而影响原有变量。 (我们称此为指针传递

0 0
原创粉丝点击