Python中的函数可以通过return语句将值返回给函数调用处,这在程序设计中非常常见。一个函数的返回值可以是任何类型的对象,例如整数、字符串、布尔值、列表、元组、字典等等。
一、函数为什么要返回值(Return)
当一个函数执行完毕后,它的结果可以作为调用该函数的代码所需要的后续操作的一部分。下面是一些函数需要返回值的情况:
1.函数需要计算并返回结果
例如,有一个函数用来计算两个数的和,如下:
def add(x, y):
z = x + y
return z
上面这个函数需要将两个数相加并将结果返回。因此,使用return语句将计算结果返回给调用函数的代码。
2.函数需要返回某个对象的值
通常情况下,函数可以创建并返回一个新的对象,例如列表、元组、字典等等。例如,下面的代码中创建了一个由两个元素组成的元组,并返回该元组:
def create_tuple():
my_tuple = (1, 2)
return my_tuple
上面这个函数需要返回一个元组对象,因此使用return语句将该元组对象返回给调用该函数的代码。
二、使用return的注意事项
1.返回值的类型必须和函数的声明一致
Python是一种弱类型语言,但函数必须返回和函数声明一致的类型。例如,如果函数声明返回整数类型,那么使用return必须返回整数类型的值。如果返回其他类型将会报错。
2.函数可以返回多个值
在Python中,函数可以返回多个值,这些返回值将会被打包成一个元组(tuple
),函数使用return语句返回这个元组即可。例如,下面的代码返回两个变量a和b:
def calculate(a, b):
x = a + b
y = a * b
return x, y # 返回一个包含x和y的元组对象
在调用该函数时,可以使用以下代码来获取a和b:
c, d = calculate(2, 3)
三、代码实例
来看两个具体的代码实例,说明函数在何时需要使用retrun:
例1、定义一个函数,返回两个数中的最大值:
def max_num(x, y):
if x > y:
return x
else:
return y
print(max_num(1, 2)) # 2
在上例中,当函数传入两个数时,函数内部使用条件语句判断两个数中的最大值,使用return语句返回结果。因此,在调用该函数时使用print语句输出结果即可。
例2、定义一个函数,计算列表中所有正数的和:
def sum_of_positive_nums(nums):
s = 0
for n in nums:
if n > 0:
s += n
return s
my_list = [-1, 2, -3, 4, -5, 6, -7, 8, -9, 10]
print(sum_of_positive_nums(my_list)) # 30
在上例中,函数参数是一个列表,函数返回列表中所有正数的和。函数内部通过遍历列表中的每个元素,如果元素是正数则将其加入到s变量中,并最后使用return语句返回变量s的值。在调用该函数的时候使用print语句输出结果即可。