欢迎访问宙启技术站
智能推送

Python参数传递方式和函数返回值

发布时间:2023-06-30 10:53:49

Python中,函数参数传递有两种方式:按值传递和按引用传递。在函数中,参数的传递方式取决于参数的类型:基本类型是按值传递,而对象类型是按引用传递。

按值传递意味着在函数调用时,会将实际参数的值复制给形式参数。这样,在函数中如果修改了形式参数的值,不会影响到实际参数。例如,下面的代码中,函数foo的形参x是一个整数类型,当调用函数foo时,会将实参a的值3复制给形参x,所以在函数内部修改x的值不会影响到a的值。

def foo(x):
    x = 5
    print("x=", x)

a = 3
foo(a)
print("a=", a)

输出结果为:

x= 5
a= 3

按引用传递意味着在函数调用时,将实际参数的引用(内存地址)传递给形式参数。在函数中,对形参的修改会影响到实际参数。例如,下面的代码中,函数bar的形参lst是一个列表类型,当调用函数bar时,会将实参my_list的引用传递给形参lst,所以在函数内部对lst的修改会影响到my_list。

def bar(lst):
    lst.append(4)
    print("lst=", lst)

my_list = [1, 2, 3]
bar(my_list)
print("my_list=", my_list)

输出结果为:

lst= [1, 2, 3, 4]
my_list= [1, 2, 3, 4]

对于函数的返回值,可以使用return语句将一个值返回给函数的调用者。一个函数可以返回一个值,也可以返回多个值(以元组的形式)。在函数调用时,可以将返回值赋给一个变量。例如,下面的代码中,函数add返回两个参数的和,然后将结果赋给变量result。

def add(a, b):
    return a + b

result = add(2, 3)
print(result)

输出结果为:

5

在函数中使用return语句后,函数将立即退出,并且返回return后面的表达式的值。如果函数没有return语句,或者return后面没有表达式,函数将返回None。在函数中,可以使用return语句多次,但只有 个return语句会被执行,其它的return语句将被忽略。

总结来说,Python中函数参数的传递方式有按值传递和按引用传递。对于返回值,可以使用return语句返回一个或多个值给函数的调用者。