python如何在非創建全域變數的地方使用全域變量
在Python中,當引用一個變數的時候,對這個變數的搜尋是按找本地作用域(Local)、嵌套作用域(Enclosing function locals)、全域作用域(Global)、內建作用域(builtins模組)的順序來進行的,即所謂的LEGB規則。即python引用變數的順序: 目前作用域局部變數->外層作用域變數->目前模組中的全域變數->python內建變數。
然而當在一個函數內部為一個變數賦值時,並不是按照上面所說LEGB規則來先找到變量,之後就為該變數賦值。在Python中,在函數中為一個變數賦值時,有下面這樣一條規則:「當在函數中給一個變數名賦值是(而不是在一個表達式中對其進行引用),Python總是創建或改變本地作用域的變數名,除非它已經在那個函數中被宣告為全域變數。」
python中golbal全域變數和nonlocal局部變數
global關鍵字用來在函數或其他局部作用域中使用全域變數。
gcount = 0 #定义了一个全局变量,(可以省略global关键字) def global_test(): print (gcount) #不修改,只是引用全局变量,不使用global关键字 def global_counter(): global gcount gcount +=1 #修改全局变量,需要使用global关键字 return gcount
輸出
1
#2
3
nonlocal關鍵字是用來在函數或其他作用域中使用外層(非全域)變數。
def make_counter(): count = 0 #定义一个局部变量,该局部变量作用范围在make_counter()方法内 def counter(): nonlocal count #在方法counter()中使用外层局部变量 count count += 1 return count return counter def make_counter_test(): mc = make_counter() print(mc()) print(mc()) print(mc()) make_counter_test()
輸出
3
#以上是python如何在非創建全域變數的地方使用全域變量的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

Linux終端中查看Python版本時遇到權限問題的解決方法當你在Linux終端中嘗試查看Python的版本時,輸入python...

在使用Python的pandas庫時,如何在兩個結構不同的DataFrame之間進行整列複製是一個常見的問題。假設我們有兩個Dat...

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

Uvicorn是如何持續監聽HTTP請求的? Uvicorn是一個基於ASGI的輕量級Web服務器,其核心功能之一便是監聽HTTP請求並進�...

本文討論了諸如Numpy,Pandas,Matplotlib,Scikit-Learn,Tensorflow,Tensorflow,Django,Blask和請求等流行的Python庫,並詳細介紹了它們在科學計算,數據分析,可視化,機器學習,網絡開發和H中的用途

在Python中,如何通過字符串動態創建對象並調用其方法?這是一個常見的編程需求,尤其在需要根據配置或運行...
