在Python中,函数是一段具有特定功能的可重用代码,函数可以接受参数,这些参数可以在函数内部被访问和修改,函数参数的传递方式有两种:按值传递(call by value)和按引用传递(call by reference)。
按值传递
1、概念:按值传递是指在调用函数时,将实参的值复制一份给形参,形参和实参指向不同的内存地址,在函数内部对形参的修改不会影响到实参。
2、示例代码:
def add(a, b): a = a + b return a num1 = 10 num2 = 20 result = add(num1, num2) print("num1:", num1) # 输出:num1: 10 print("num2:", num2) # 输出:num2: 20 print("result:", result) # 输出:result: 30
按引用传递
1、概念:按引用传递是指在调用函数时,将实参的引用传递给形参,形参和实参指向同一个内存地址,在函数内部对形参的修改会影响到实参。
2、示例代码:
def change(lst): lst[0] = 99 my_list = [10, 20, 30] change(my_list) print(my_list) # 输出:[99, 20, 30]
列表参数传递
1、概念:当列表作为参数传递给函数时,实际上是将列表的引用传递给函数,在函数内部对列表的修改会影响到原始列表,如果列表中的元素是基本数据类型(如整数、浮点数等),则按值传递。
2、示例代码:
def change_list(lst): lst[0] = 99 lst.append(40) my_list = [10, 20, 30] change_list(my_list) print(my_list) # 输出:[99, 20, 30, 40]
归纳
1、Python中函数参数的传递方式有两种:按值传递和按引用传递。
2、按值传递时,实参的值复制一份给形参,形参和实参指向不同的内存地址;按引用传递时,实参的引用传递给形参,形参和实参指向同一个内存地址。
3、当列表作为参数传递给函数时,实际上是将列表的引用传递给函数,在函数内部对列表的修改会影响到原始列表,如果列表中的元素是基本数据类型,则按值传递。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/648950.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复