1、本地變量,全局變量
Python 中有2種變量作用范圍本地變量,全局變量。
變量搜索路徑是:本地變量->全局變量
它們簡而言之就是本地變量的值只在本地作用范圍有效。而全局變量的作用范圍是全局的。
例如:
a = 3 def px(): a = 4 print (a) print (a) px()
print (a)
上段代碼的結果為 3 4 3,px函數中的a只是本地變量,它只在它所在代碼塊中有效。不能改變外面a的值
但是加上global后,我們再來看:
a = 3 def px(): global a a = 4 print (a) print (a) px() print (a)
加上global 后,該變量 a 就是變成了全局變量,它的作用范圍是全局的。 對它的修改,在全局范圍內生效
a = 3 b = 5 def px(): a = 4 b = 6 def pp(): print (a,b) def kk(): print (a,b) kk() return pp() px() print (a,b)
結果為:
4 6
4 6
3 5
說明函數體內定義的局部變量,在整個函數體內生效。如果函數體內嵌套子函數,子函數向上查找最近的變量