Python-15-函式_04_作用域
阿新 • • 發佈:2018-11-13
1 ######作用域在定義函式時就已經固定住了,不會隨著呼叫位置的改變而改變###### 2 # 程式一 3 name = "Newmet" 4 def foo(): 5 name = "Newmet1" 6 def bar(): 7 print(name) 8 return bar 9 a = foo() # 返回值:bar 是函式bar的記憶體地址 10 a() 11 12 # 程式二 13 name = "Newmet" 14 def foo(): 15 name = "Newmet1" 16 defbar(): 17 name = "Newmet2" 18 def ff(): 19 print(name) 20 return ff 21 return bar 22 # a = foo() # 返回值:bar 是函式bar的記憶體地址 23 # b = a() # 呼叫函式:bar,返回值:ff 是函式ff的記憶體地址 24 # b() # 呼叫函式:ff 25 # 上面三行簡寫為: 26 foo()()() 27 28 # foo() 呼叫foo函式,返回值:bar(是該函式的記憶體地址)29 # foo()() 呼叫bar函式,返回值:ff(是該函式的記憶體地址) 30 # foo()()() 呼叫ff函式,結果:Newmet2 31 # foo()()() 是根據每層返回給的記憶體地址,一層層的再呼叫下去的。 32 33 ######作用域在定義函式時就已經固定住了,不會隨著呼叫位置的改變而改變######