return的作用:将函数的执行结果传递给赋值的变量。
当想在函数外部调用函数内的变量的时候,就需要在变量前面加global。
在实际的编程时,尽量避开global关键字,因为它引⼊了多余的变量到全局作⽤域了。
def Add(value1, value2):
res = value1 + value2
return res
def Multiple(value1, value2):
res1 = value1 * value2
# 声明全局变量
global res2
res2 = value1 * value2 * 2
return res1
if __name__ == "__main__":
print(Add(2, 3))
print(Multiple(3, 4))
# 在这里调用全局变量
print(res2)
print(res1)
结果显而易见,res2能被调用,res1不能被调用。
5
12
24
Traceback (most recent call last):
File "C:/Users/aw/PycharmProjects/AdvancedPython/GlobalAndReturn.py", line 19, in <module>
print(res1)
NameError: name 'res1' is not defined
Process finished with exit code 1
对于一个函数,当想返回多个return值的时候,可以选择的写法。
- return后面接list/tuple数据结构,最后对里面的元素进行遍历即可得到结果。
- return后面列写变量,中间用逗号隔开,在调用的时候,使用多个变量来赋值这个函数。
def Math1(value1, value2):
# 计算乘法
res1 = value1 * value2
# 计算乘方
res2 = value1 ** value2
return [res1, res2]
def Math2(value1, value2):
# 计算乘法
res1 = value1 * value2
# 计算乘方
res2 = value1 ** value2
return res1, res2
两种的输出结果如下。
15
125
15,125
用后者更好一点,但是在调用库的时候,一定要知道这个函数返回了几个值,以便做好赋值工作。