# /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) # 第七步