Python 如何實現物件之間的資料共享

發布 科技 2024-05-20
12個回答
  1. 匿名使用者2024-01-28

    建立乙個類似於配置檔案的常量檔案,將要作為變數全域性共享的內容宣告並賦值,並將每個模組匯入其中。

  2. 匿名使用者2024-01-27

    Global 可以跨模組使用,例如:

    在定義變數 a

    global a = ""

    為 in 賦值。

    1. 匯入 test2 模組。

    2. 為函式賦值。

    tt"這允許您通過全域性 A 訪問其他模組中的變數。

  3. 匿名使用者2024-01-26

    不要一直聽老師的話。 自己想想吧! 慢慢來,不要著急!

  4. 匿名使用者2024-01-25

    房東使用 Redis,Redis 正是您正在尋找的。 它是乙個快速的記憶體資料庫,可以儲存變數、陣列、序列等,並且可以更改內容。 您可以使用它來跨執行緒和程序傳輸資料,這非常酷。

    如果配備了RPC,也可以將Redis用作跨計算機和跨伺服器的資料交換中心。

    更重要的是,Redis有發布和訂閱功能,你可以用它來設定發布和訂閱,當乙個執行緒或程序(發布者)向Redis儲存或修改資料時,所有訂閱者執行緒或程序都會收到通知,從而檢索資料,這樣可以避免低效的輪詢,這很酷。

  5. 匿名使用者2024-01-24

    簡單。 一種是通過執行緒同步。 另乙個是全域性變數,可以使用此修飾符進行修改。

    python 程序中的所有內容都在記憶體空間中。 只要新增全域性,就可以訪問它。 你可以用這個全域性變數進行通訊,效果是一樣的。

    Python 每個程序僅使用乙個 CPU 核心。 所以樓下的位址空間說的不一樣是沒有問題的。

    還有幾種方法可以在程序之間同步。 常用的是共享記憶體和管道,但套接字或資料庫是最常用的。 還有一些分布式元件不是很好用。

    我通常使用mutliprocessing,它有現成的程序通訊方法。

    看看你需要什麼。 我認為我們可以使用兩個變數,乙個用於記錄更改的狀態,另乙個用於在更改之前需要鎖定。 目前,似乎如果它只在python中實現。

    您可以直接使用工具 memcache 來解決問題。 乙個程式可以讀寫,其他程式只需要加固即可。 原則上,Memcache 是乙個記憶體資料庫。

  6. 匿名使用者2024-01-23

    方法 1 不能同步資料,每個程序都有自己的位址空間,其他程序不能修改此位址空間中的變數。

    如果資料不多,方法 2 就可以了; 如果有很多,請使用資料庫。

  7. 匿名使用者2024-01-22

    只需使用檔案資料庫,sqlite正是您所需要的。

  8. 匿名使用者2024-01-21

    如果兩個py執行在兩個不同的直譯器上,應該沒有辦法直接共享它們,只能通過**,如果資料可以序列化,就可以儲存在資料庫中,並被其他程式讀取。

  9. 匿名使用者2024-01-20

    程序傳遞資料的最簡單、最方便的方式是通過佇列。 這樣,可以將自生成的類物件放入佇列中,並由子程序檢索。

    至於陣列、var 等,則用於高效的資料共享。 共享記憶體是程序通訊的高階技巧。 當需要高效能計算時,請檢視這些方法。

    游泳池、經理等 相反,它的使用較少。

    Python 與 C++ 共享記憶體,並且還使用 numpy 中的陣列。 那個更有效率。

    程式中的子程序和傳遞引數沒有問題。 你漏了一句話。 待在末尾新增。

    就是這樣。 如果你不新增它,那麼你的主程序將不會等待子程序,它會先退出,通常作業系統也會自動終止子程序。

    此外,在子流程中,列印的輸出存在延遲。 即使你這樣做了,有時也會有延遲。

  10. 匿名使用者2024-01-19

    class a()

    def bf(self,event)

    name = 'bf'

    這裡的名字是區域性變數,不是變數,執行時不存在。

    如果要保留變數的值,請:

    class a(object):

    name = ''

    def bf(self, event):

    bf'class b(object):

    def exe(self, event):

    print

  11. 匿名使用者2024-01-18

    不可獲取,這與變數的生存期有關,方法中變數的生存期從方法中宣告時開始,到呼叫方法時結束。

    因此,您不能在方法 A 的類 B 中呼叫方法 B 中的變數 var b,因為當時尚未建立該變數。

  12. 匿名使用者2024-01-17

    雖然不是,但我想你應該多加幾分。

相關回答
8個回答2024-05-20

<>的問題太籠統了,不知道答案是否正確。 請看下圖。 >>>More

2個回答2024-05-20

我已經做過很多次了,我已經探索過了。

程基本上是這樣的: >>>More

5個回答2024-05-20

你好。 我們選擇Python作為實現機器學習演算法的程式語言有三個原因:(1)Python的語法清晰; (2)易於操作的純文字檔案; (3)應用廣泛,開發文件數量多。 >>>More

7個回答2024-05-20

1.橋接模式。

可以將虛擬系統的IP設定為與本地系統在同一網段,虛擬機器相當於網路中的一台獨立機器,與本地機器插入乙個集線器,網路中的其他機器可以訪問該虛擬機器,虛擬機器也可以訪問網路中的其他機器。 >>>More

3個回答2024-05-20

Python 是一種物件導向的直譯計算機程式語言。 它也是一種強大而完整的通用語言,已經發展了十餘年,成熟穩定。 Python 擁有指令碼語言中最豐富、最強大的庫,足以支援絕大多數日常應用程式。 >>>More