python 共享資料 用Python共享全域性資料

2021-10-19 00:23:13 字數 915 閱讀 6696

a在globaldatabase的宣告中分配了乙個列表. globaldatabase的每個例項都以對同一列表的引用開始,我們將其稱為「原始」列表.

當您在第乙個示例中執行self.a = value時,為該例項或「self」替換對原始列表的引用,並引用您指定的列表值.建立的任何新例項仍將引用原始列表,這就是為什麼gb2列印出乙個空列表 – 原始列表,而不是[1,2] – 新列表.

讓我們看看它是如何工作的,使用id:

宣告後,globaldatabase保持對以下內容的引用:

id(globaldatabase.a)

out[112]: 290675912l #original

我們建立的任何例項都持有相同的引用:

gb1 = globaldatabase()

id(gb1.a)

out[114]: 290675912l #original

在copy_to_a之後,您可以看到它已更改:

gb1.copy_to_a([1,2])

id(gb1.a)

out[116]: 290670536l #changed!

但是gb2仍然有原始參考:

id(gb2.a)

out[118]: 290675912l #original

在這裡我們可以看到引用沒有改變:

gb1 = globaldatabase()

id(gb1.a)

out[120]: 290675912l #original

gb1.assign_to_a([1,2])

id(gb1.a)

out[122]: 290675912l #original

gb2 = globaldatabase()

id(gb2.a)

out[124]: 290675912l #original

用SourceInsight閱讀Python工程

首先從http www.sourceinsight.com public languages python.clf 然後對sourceinsight作如下配置 1 選擇options preferences,單擊languages選項 2 單擊import按鈕,裝載並匯入python.clf 3 這...

python人生苦短 人生苦短,我用Python

python學習筆記 每日總結,反思.學習,1,注釋 單行注釋 注釋內容 多行注釋 注釋內容 快捷鍵 ctrl 2,變數 type 變數 用來檢視變數型別 變數型別,程式中需要特別注意變數型別,很容易報錯,或者很熟悉變數型別的報錯,錯了再改也成.格式轉化 紅線常用 bool布林型別 ture和fla...

用 PyInstaller 打包封裝python

pip install pyinstallertest.py 以及 test.png test2.png 用於介面顯示到圖示檔案。輸出乙個test 可以執行程式檔案,可直接執行。如 test.實際上,這個檔案可執行程式檔案是乙個包,執行過程中會將這個包解壓縮到 tmp mei 路徑下,執行結束會自動...