存取方法內的靜態類別變數
嘗試存取方法內的類別變數時,由於命名空間差異,可能會發生錯誤。下面的程式碼片段說明了這個問題:
<code class="python">class Foo(object): bar = 1 def bah(self): print(bar) # NameError: global name 'bar' is not defined</code>
解決方案
要在方法中存取靜態類別變量,請使用self.bar 或Foo.bar 。 Foo.bar 建立一個靜態變量,而 self.bar 建立一個實例變數。因此,以下修訂解決了這個問題:
存取靜態類別變數: self.bar
<code class="python"> def bah(self): print(self.bar)</code>
建立靜態類別變數: Foo.bar
<code class="python">def bah(self): print(Foo.bar)</code>
以上是如何在 Python 方法中存取靜態類別變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!