7_Python进阶_Global和Return

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值的时候,可以选择的写法。

  1. return后面接list/tuple数据结构,最后对里面的元素进行遍历即可得到结果。
  2. 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

用后者更好一点,但是在调用库的时候,一定要知道这个函数返回了几个值,以便做好赋值工作。

猜你喜欢

转载自blog.csdn.net/m0_48948682/article/details/125573261