global和nonlocal是 Python 中用于訪問變量作用域的關鍵字。它們在函數中使用,用于更改變量的作用域。
全球關鍵字用于在函數內部訪問和修改全局變量。當在函數內部使global關鍵字聲明一個變量時,該變量將被視為全局變量。例如:
在這個例子中,'count變量被聲明為全局變量,因此函數 'increment increment()可以訪問并修改該變量。
'非nonlocal關鍵字聲明一個變量時,Python 將查找最近的非局部作用域,該變量將被視為非局部變量。例如:
在這個例子中,'內部nonlocal關鍵字來訪問并修改外部函數 'outerouter()中的變量count。因此,每次調用inner()函數時,'countcount的值都會增加,并被打印出來。
需要注意的是,'globalnonlocal關鍵字應該被謹慎使用,因為它們可能會導致變量作用域的不確定性和程序的難以維護。通常情況下,建議避免使用全局變量和嵌套函數,而是使用函數參數和返回值來實現相同的功能。