首頁  >  文章  >  後端開發  >  如何從 Python 中的方法存取類別變數?

如何從 Python 中的方法存取類別變數?

DDD
DDD原創
2024-10-26 17:24:02933瀏覽

How to Access Class Variables from Methods in Python?

在方法中存取類別變數

在 Python 中使用類別時,您可能會遇到需要從方法內存取類別變數的情況。但是,僅在方法中引用變數可能會導致名稱錯誤。

問題

考慮以下程式碼片段:

<code class="python">class Foo(object):
    bar = 1

    def bah(self):
        print(bar)</code>

當嘗試執行此程式碼時,您將遇到NameError: 全域名稱「bar ”未定義。這是因為變數 bar 是類別變量,方法 bah 無法直接存取它。

要在方法中存取類別變量,有兩個選項:

  • self.bar: 這引用了實例變量,該變數特定於類別的每個實例。
  • Foo .bar: 這引用了類別變量,該變數在類別的所有實例之間共用。

如果您打算修改類別變量,請使用 Foo.bar;否則,請使用 self.bar。

範例

使用正確的方法重建程式碼片段:

<code class="python">class Foo(object):
    bar = 1

    def bah(self):
        print(self.bar)  # Access the instance variable

f = Foo()
f.bah()  # Prints 1</code>

此程式碼將列印 1,存取實例變數。如果您想要存取類別變量,只需在 print 語句中將 self.bar 變更為 Foo.bar 即可。

以上是如何從 Python 中的方法存取類別變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn