Python——内部参数对外部实参的影响

Posted Talk is cheap, just do IT...

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python——内部参数对外部实参的影响相关的知识,希望对你有一定的参考价值。

无论函数传递的参数的可变还是不可变,只要针对参数使用赋值语句,会在函数内部修改局部变量的引用,不会影响到外部变量的引用,而如果传递的参数是可变类型,在函数内部使用方法修改了数据的内容,同样会影响到外部的数据。

 

def demo(num, num_list):
    print("函数内部")
    num = 99
    num_list = [33, 66, 99]

    print(num, num_list)


gl_num = 9
gl_list = [3, 6, 9]
demo(gl_num, gl_list)
print(gl_num, gl_list)

运行结果:

def mutable(num_list):
    num_list.append(100)
    print(num_list)


gl_list = [1, 2, 3]
mutable(gl_list)
print(gl_list)

运行结果:

 

 无论函数传递的参数的可变还是不可变,只要针对参数使用赋值语句,会在函数内部修改局部变量的引用,不会影响到外部变量的引用,而如果传递的参数是可变类型,在函数内部使用方法修改了数据的内容,同样会影响到外部的数据。

以上是关于Python——内部参数对外部实参的影响的主要内容,如果未能解决你的问题,请参考以下文章

当需要一个形式参数直接改变对应实参的值时,该形式参数应说明为啥参数?

Python函数传参的方式

用指针引用或直接传值来分配内存

python怎么传参

Python-函数参数

Python3基础 函数 参数为list 使用+=会影响到外部的实参