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