如果想要获取函数中的局部变量,可以使用“return”关键字返回。例如:
def foo():
x = "局部变量"
return x
result = foo()
print(result)
执行结果如下:
局部变量
从执行结果可以发现,“return x” 成功地返回了局部变量“x”的内容。如果不写“return”或者只有“return”而后面没有变量,会出现什么情况呢?
def no_return():
print("没有return")
def no_return_value():
print("有return没有返回值")
return
def has_return():
x = "局部变量"
print("有return有返回值")
return x
result1 = no_return()
print(result1)
result2 = no_return_value()
print(result2)
result3 = has_return()
print(result3)
执行结果如下:
没有return
None
有return没有返回值
None
有return有返回值
局部变量
从执行结果中我们可以看到,没有“return”和有“return”但是没有返回值,两者都会获得“None”。但如果有“return”并且带了返回值,就可以通过赋值的方式获取函数的返回值。
其实Python的返回值还有更高级的特性。Python可以返回不止一个值,例如:
def multi_value():
r1 = "第一个返回值"
r2 = "第二个返回值"
r3 = "第三个返回值"
r4 = "第四个返回值"
r5 = "第五个返回值"
return r1,r2,r3,r4,r5
s = multi_value()
print(s)
执行结果如下:
('第一个返回值', '第二个返回值', '第三个返回值', '第四个返回值', '第五个返回值')
从执行结果中我们可以看出,有多个返回结果时,Python会返回一个元组;当Python返回了元组,就可以赋值给多个变量了。
def two_value():
return "第一个返回值", "第二个返回值"
r1, r2 = two_value()
print(r1)
print(r2)
执行结果如下:
第一个返回值
第二个返回值
从执行结果中可以看到,函数中的两个返回值成功地赋值给了两个变量“r1”和“r2”。