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