在python之中有兩個關鍵字能夠用來改變變量的作用域以及命名空間 , 它們就是global以及nolocal , 但是它們之間也是有一點差異和區別的 。下文會來詳細的給大家講解一下二者之間的關系以及區別 , 想要學習或者了解的小伙伴就一定要仔細閱讀了 。

1.global關鍵字于nolocal關鍵字之前實際上是沒有任何關系的 , 只不過它們二者之間有一個共同點 , 那就是都能夠在作用域內去使用外層的變量 。
2.global與nolocal它們之間的區別就在于 , 雖然都是能夠在局部作用域內去使用外層變量 。不過global只能夠在當前作用域內去調用全局變量 , 并且這個當前作用域就要包含在全局之中 , 示例如下:
x = 1def outer(): global x x += 1在以上的代碼示例之中變量x是定義在全局范圍內的 , 而只有在這個范圍內的函數outer里面才可以去調用global 。
3.當以上示例之中的函數內還有一個函數的時候就不能夠用global關鍵字了 , 從代碼示例來看比較好理解 , 如下所示:
def outer(): x = 1 within(): nolocal x x -= 5在上面這種情況下函數within被稱為當前作用域 , 而函數outer則是外層作用域 , 再外面就是全局作用域了 。而within函數內無法去使用全局作用域內的變量 , 要使用外層作用域的變量x就得用到nolocal關鍵字 。
【Python關鍵字global和nolocal有什么關系?Python中global與nolocal的區別是什么】以上就是關于“Python關鍵字global和nolocal有什么關系?Python中global與nolocal的區別是什么”的全部內容了 , 希望對你有所幫助 。
猜你喜歡
- Python怎么實現金字塔求和問題?Python如何解決金字塔求和問題
- VSCode中怎么運行Python的虛擬環境?VSCode中運行Python的虛擬環境的方法
- Linux下如何安裝Python虛擬環境?Linux安裝Python虛擬環境的兩種方法
- Python中如何用split函數實現分割字符串?split()函數實現分割字符串的方法
- Python字典怎么添加值?Python字典添加值的方法
- Linux系統中如何運行Python腳本?怎么在linux上運行Python?
- Vscode無法運行Python文件怎么辦?Vscode運行Python文件無反應的解決方法
- IDLE編輯器怎么生成Python程序文件?IDLE生成Python程序文件的方法
- Python中nolocal是什么意思?Python3的nolocal怎么用
- 使用vscode如何搭建python開發環境?vscode搭建python開發環境的方法
