Python return语句

return 语句用于结束函数调用的执行,并将结果(return 关键字后面的表达式的值)“返回”给调用者。return 语句之后的语句不被执行。如果return语句没有任何表达式,则返回特殊值None。return 语句总体上用于调用函数,以便可以执行传递的语句

语法:

def fun():
    statements
    .
    .
    return [expression]

例子:

def cube(x):
   r=x**3
   return r

示例2:

# Python程序演示return语句的用法

def add(a, b):
    # 返回a和b的和
    return a + b

def is_true(a):
    # 返回a的布尔值
    return bool(a)

# 调用函数
res = add(2, 3)
print("add函数的结果是 {}".format(res))

res = is_true(2 < 5)
print("\nis_true函数的结果是 {}".format(res))

输出:

add函数的结果是 5 

is_true函数的结果是 True

返回多个值

在 Python 中,我们可以从一个函数返回多个值。以下是不同的方式。  

  • 使用对象:这与C/C++和Java类似,我们可以创建一个类(在C中为struct)来保存多个值并返回该类的对象。 

例子:

# 一个Python程序,从一个方法中使用类返回多个值

class Test:
    def __init__(self):
        self.str = "jkhxwforgeeks"
        self.x = 20

# 这个函数返回一个Test类的对象
def fun():
    return Test()
    
# 测试上述方法的驱动代码
t = fun()
print(t.str)
print(t.x)

输出:

jkhxwforgeeks
20
  • 使用元组:元组是逗号分隔的项目序列。它是用或不用()创建的。元组是不可变的。
# 一个Python程序,从一个方法中使用元组返回多个值

# 这个函数返回一个元组
def fun():
    str = "jkhxwforgeeks"
    x = 20
    return str, x; # 返回一个元组,也可以写成 (str, x)

# 测试上述方法的驱动代码
str, x = fun() # 将返回的元组赋值给变量
print(str)
print(x)

输出:

jkhxwforgeeks
20

从函数中返回另一个函数

在Python中,函数是对象,因此我们可以从另一个函数返回一个函数。这是可能的,因为函数在 Python 中被视为第一类对象。 

在下面的示例中,create_adder 函数返回加法器函数。 

在这个程序中,我们首先定义了一个名为create_adder的函数,该函数接受一个参数x,然后返回一个内部函数adder,该内部函数可以将传入的参数与x相加。

然后,我们调用create_adder函数,传递参数15,将返回的内部函数保存在add_15变量中,然后调用add_15(10),它会将10与之前传递的参数15相加,结果是25。

接下来,我们定义了两个不同的函数,outer和my_func。outer函数将其参数乘以10,并且my_func函数返回outer函数。然后,我们将my_func的返回值存储在res变量中,并调用res(10),它实际上是在调用outer(10),结果是100。

# Python程序示例,演示函数可以返回另一个函数

def create_adder(x):
    def adder(y):
        return x + y

    return adder

add_15 = create_adder(15)

print("结果是", add_15(10))

# 返回不同的函数
def outer(x):
    return x * 10

def my_func():
    
    # 返回不同的函数
    return outer

# 将函数存储在res中
res = my_func()

print("\n结果是:", res(10))

输出:

结果是: 25
结果是: 100