函式外與函式內的變數

Tynam.Yang發表於2018-03-23
# /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) # 第七步

 

相關文章