函数外与函数内的变量

# /usr/bin/env python
# --*--coding=utf-8--*--


total = 99


def sum(arg1, arg2):
    total = arg1 + arg2
    print(total)
    return total


a = sum(1, 2)
print(a)
print(total)

输入的结果是:3 3 99

看看程序运行的顺序:

从上往下第一步

1 total = 99

2 遇到方法def 跳过,因为是函数,没有掉用不运行。接着运行a = sum(1,2)

   掉用sum方法,执行sum,sum中打印total即3,第一个输出结果,然后sum返回total,a接收sum的返回值,从而a=3

3 打印a,即第二个3

4 打印total 这个total指的是函数外的total,即99

两个total不是同一个total,如果看不懂不妨将函数中的total替换为sum

 1 total = 99 # 第一步
 2 
 3 
 4 def sum(arg1, arg2):
 5     sum = arg1 + arg2 # 第三步
 6     print(sum) # 第四步
 7     return sum # 第五步
 8 
 9 
10 a = sum(1, 2) # 第二步
11 print(a) # 第六步
12 print(total) # 第七步
原文地址:https://www.cnblogs.com/tynam/p/8630725.html