簡體   English   中英

python-使用'with'語句后的變量范圍

[英]python - Variable scope after using a 'with' statement

我沒有在stackoverflow上找到這個問題的答案,所以我認為提出這個建議可能會有所幫助,

我以下列方式在打開文件后聲明了一個新詞典:

with open('some_file.txt','r') as f:
    dict = json.loads(f.read()) #converts text to a dictionary

我的問題是-即使“ with”范圍結束后,我能否達到dict的內容。

謝謝

是的,在Python中,變量的作用域僅在其定義的代碼塊結束時才結束,並且在文檔中with語句不是代碼塊:

以下是塊:模塊,函數體和類定義。 交互鍵入的每個命令都是一個塊。 腳本文件(作為標准輸入給解釋器或指定為解釋器的命令行參數的文件)是代碼塊。 腳本命令(在解釋器命令行上使用'-c'選項指定的命令)是代碼塊。 傳遞給內置函數eval()和exec()的字符串參數是一個代碼塊。

是的,您將無法訪問f ,其他所有內容都是公平的游戲。

在python中,作用域是由函數定義的。 沒有縮進范圍(類似於其他語言中的“括號”范圍)。 with部分僅影響f對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM