簡體   English   中英

Python:從 class 實例中訪問變量的最佳方式?

[英]Python: Best way to access variable from within a class instance?

我有一個名為Player的 class,這個 class 將有 200-300 個實例。 在此 class 中有一個 function,稱為Move ,此 function 需要了解 Z1D78DC8ED51214E9AEZ524B。

我還有一個名為Map的 class 有 1-2 個實例。 Map實例輸入Player實例的最佳方法是什么?

我只是問,因為如果我在 Player初始化時將它提供給實例,這樣我就可以通過 self.map 訪問該實例 - 這不會創建 Map 實例的數百個副本(每個 Player 實例一個)?

據我所知,這可能是這樣做的標准方式,但我有一種不合適的感覺。

謝謝

如果您在初始化時將Map傳遞給Player ,這只是傳遞了一個引用,而不是一個副本。 您不會以這種方式創建Map的冗余實例,這是最好的方法。

Python 中的任何內容都不會被隱式復制。 每當您執行x = y時,無論是 function 調用還是變量/元素/屬性賦值, xy之后都指的是同一個 object。

不過,我發現您的計划存在兩個缺陷:

  • map 是否也了解玩家? 如果是這樣,你手上會有很多循環引用。 只需將 map 傳遞給move()即可。
  • 讓 map 本身或其他一些豐富的“游戲邏輯”class 來處理實際運動似乎更合適。 (不過,我不是游戲開發者;我的直覺是,map 上的東西不應該伸到自己外面並四處移動。)

暫無
暫無

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

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