Python函数返回值:return语句、多个返回值、返回值为函数对象
Python是一种解释性的、高级的、面向对象的编程语言,其最大的优势在于其丰富的函数特性,在Python函数中可以通过return语句实现返回值的功能,支持多个返回值和返回函数对象的特性,本文将分别讨论这些功能的使用方法。
一、return语句
在Python中函数通过return语句可以将值返回给调用者,语法结构如下:
def functionName():
…
return expression
上述语法表示可以在函数定义中使用return语句返回一个值,其中expression是要返回的值,可以是字面值、变量、表达式等。
下面给出一个示例,定义了一个函数,输入两个数,输出他们的和:
def add(x, y):
result = x + y
return result # 返回 x和y的和
a = 1
b = 2
c = add(a,b) # 调用函数add,将a和b相加,结果存储在c中
print(c) #输出结果3
注意,return语句将退出函数执行,并将返回值传递给调用者,因此return语句必须放在函数定义中的最后一个语句中、或者放在含有条件判断语句的分支中,并且只有在执行到return语句时才会返回函数结果。
二、多个返回值
在Python中定义多个返回值比较容易,可以使用元组(tuple)来实现,如果不指定返回值类型,则函数默认返回一个元组。下面给出一个示例,定义了一个函数,输入一个城市,输出该城市的经纬度:
def getLocation(city):
location = []
if(city == 'Beijing'):
location.append(116.40)
location.append(39.90)
if(city == 'Shanghai'):
location.append(121.46)
location.append(31.22)
return tuple(location) #返回类型为元组
coord = getLocation('Shanghai')
print(coord) # 输出坐标(121.46, 31.22)
上述函数将经纬度值存储在列表中,最终通过return语句返回一个元组类型的值,使用时可以将返回的元组数据分别赋值给具体的变量,或者直接将元组数据作为参数传递给调用者。
三、返回值为函数对象
在Python中,函数也是一种对象,因此,在Python中函数也可以作为一种类型,可以作为参数传递或者作为另外一个函数的返回值。下面给出一个示例,定义了一个函数,根据输入参数返回不同的函数:
def func1():
print("Executing function 1…")
def func2():
print("Executing function 2…")
def chooseFunc(option):
if (option == 1):
return func1
else:
return func2
f = chooseFunc(1)
f() # 将返回值赋值给函数对象f,然后使用f()调用
在上述示例中,函数chooseFunc根据输入参数返回不同的函数对象,函数对象可以作为返回值传递给调用者,并在需要时进行调用。
总之,return语句是Python语言中常用的关键字之一,用于从函数中返回值给调用方,支持多个返回值和返回函数对象等特性,它为Python开发者提供了很大的灵活性和便利性。
