1. 程式人生 > 實用技巧 >Python09-04_函式----變數的作用域(全域性變數和區域性變數)

Python09-04_函式----變數的作用域(全域性變數和區域性變數)

變數的作用域(全域性變數和區域性變數)

變數起作用的範圍叫做變數的作用域,不同作用域內同名變數之間互不影響。變數分為:全域性變數和區域性變數

全域性變數:

  1. 在函式的類定義之外宣告的變數。作用域為定義的模組,從定義位置開始直到模組結束。
  2. 全域性變數降低了函式的通用性和可讀性。應儘量避免全域性變數的使用。
  3. 全域性變數一般當成常量使用。
  4. 函式內要改變全域性變數的值,使用global宣告一下

區域性變數:

  1. 在函式體中(包含形式引數)宣告的變數。
  2. 區域性變數的引用比全域性變數快,優先考慮使用。
  3. 如果區域性變數和全域性變數同名,則在函式內隱藏全域性變數,只使用同名的區域性變數。

輸出列印區域性變數:locals()

輸出列印全域性變數:globals()

 1 a = 3
 2 def text01():
 3     b = 4
 4     print(b*10)
 5     global a
 6     a = 300
 7 
 8 print(locals())
 9 print(globals())
10 
11 text01()
12 print(a)