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

Python函数返回值:return语句、多个返回值、返回值为函数对象

发布时间:2023-06-13 22:13:31

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开发者提供了很大的灵活性和便利性。