日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

python 共享数据_用Python共享全局数据

發布時間:2025/3/15 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 共享数据_用Python共享全局数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

你說你理解了第二個例子,但為了完整性,當你做self.a.append(value [idx])時,你會追加到原始列表.如上所述,新實例引用了該列表,并“看到”該更改.

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

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

總結

以上是生活随笔為你收集整理的python 共享数据_用Python共享全局数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。