我们在使用函数的过程中通常是调用函数,然后被调用函数中的内容会依次被执行,但是有时候我们需要的不只是执行的步骤,如果我们还需要获取函数中的局部变量,就可以使用return关键字返回。例如:
动手练一练:
def student():
name = "张三"
return name
x = student() # 把返回值赋值给变量“x”
print(x) # 输出 张三
执行以上代码,输出结果为:
张三
上面的例子中,“return name”成功地返回了局部变量“name”的内容,但是使用return关键字不会直接输出结果,所以我们把函数的返回值赋值给变量“x”,然后利用print(x)输出,就可以看到输出的结果。
这里需要注意的是,如果不定义return返回值,则函数会默认返回None。None表示一个空的对象,没有任何的值,也就是“什么都没有”的意思,例如:
动手练一练:
def no_return():
print("没有返回值")
def no_return_value():
print("没有return返回值")
return
def have_return():
name = "张三"
print("有return返回值")
return name
a = no_return() #没有任何返回值赋值给变量a
print(a) # 输出 None
b = no_return_value() #没有任何返回值赋值给变量b
print(b) # 输出 None
c = have_return()
print(c) # 输出 张三
执行以上代码,输出结果为:
没有返回值
None
没有return返回值
None
有return返回值
张三
上面的例子中,第一个函数内没有return关键字,而第二个函数内有return关键字但没有返回值,两者都会默认调用“return None”作为返回值。但如果有“return”并且带了返回值,就可以通过赋值给变量的方式获取函数的返回值。
我们在使用函数返回值的时候,有时候不仅仅只返回一个值,也可能会返回多个值。但是这里需要注意的是,当返回多个值的时候,多个值是被存储在元组数据类型当中的。例如:
动手练一练:
def student():
a = "张三"
b = "李四"
c = "王五"
d = "赵六"
return a, b, c, d
x = student()
print(x)
执行以上代码,输出结果为:
('张三', '李四', '王五', '赵六')
上面的例子中,return关键字返回a, b, c, d共4个值,注意,每个值必须用英文的逗号隔开,否则会出现语法错误。从返回结果中可以看到,返回多个值的时候是被存放在了一个元组之中。
我们还可以直接把返回的元组赋值给多个变量。例如:
动手练一练:
def student():
a = "张三"
b = "李四"
c = "王五"
d = "赵六"
return a, b, c, d
x1, x2, x3, x4 = student()
print(x1)
print(x2)
print(x3)
print(x4)
执行以上代码,输出结果为:
张三
李四
王五
赵六
上面的例子中,student()函数返回了一个包含4个值的元组,这个元组被分别赋值给了变量x1、x2、x3和x4。需要注意的是,使用元组赋值给多个变量时,多个变量同样必须用英文的逗号隔开。