首頁 >後端開發 >Python教學 >為什麼我在 Python 中收到「NameError:名稱未定義」?

為什麼我在 Python 中收到「NameError:名稱未定義」?

DDD
DDD原創
2024-11-01 10:37:30596瀏覽

Why am I getting

修正Python 中的「NameError:名稱未定義」

在Python 中,當您嘗試存取變數時會發生「NameError:名稱未定義」錯誤或之前未在程式碼中聲明或定義的類別。要解決這個問題,變數和類別的正確作用域和聲明至關重要。

讓我們檢查一下您提供的程式碼片段:

<code class="python">s = Something()
s.out()

class Something:
    def out():
        print("it works")</code>

這個錯誤是由Something 類別引起的定義於after,它被用來創建它自己的實例。在 Python 中,解譯器逐行解釋程式碼,因此在執行「s = Something()」行時,Something 類別還不知道。

要解決此問題,您需要 在使用類別之前定義它。這是修正後的程式碼:

<code class="python">class Something:
    def out(self):
        print("it works")

s = Something()
s.out()</code>

請注意,我們也將 self 加入為 out 方法的第一個參數。這對於 Python 中對特定物件實例進行操作的實例方法是必需的。透過將 self 作為第一個參數傳遞,該方法可以存取實例屬性並修改物件的狀態。

透過這些修正,程式碼將在沒有 NameError 的情況下運行,並按預期輸出「it Works」。

以上是為什麼我在 Python 中收到「NameError:名稱未定義」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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