global 標識用於在函數內部,修改全局變量的值。bash
咱們能夠經過如下規則,來斷定一個變量究竟是在全局做用域仍是局部做用域:函數
下面的示例,有助於理解上述規則:ui
def cook():
global dumplings
dumplings = '10' # 全局變量
print('cook():' + dumplings)
def cook2():
dumplings = '22' # 局部變量
print('cook2():' + dumplings)
def cook3():
print('cook3():' + dumplings) # 全局變量
dumplings = 3 # 全局變量
cook()
print('global:' + dumplings)
cook3()
cook2()
複製代碼
運行結果:spa
cook():10 global:10 cook3():10 cook2():22code
注意: 在函數中,若是在變量定義以前先使用它,就會拋錯:cdn
def cook():
print(dumplings)
dumplings = 'local'
dumplings = 'global'
cook()
複製代碼
運行結果:blog
UnboundLocalError: local variable 'dumplings' referenced before assignment作用域
由於在函數中,存在對 dumplings 的定義賦值語句,因此被認爲是局部變量。因此在定義以前,先訪問這個局部變量就會拋錯。string