深入研究__init__() 內部和外部變數的差異
考慮以下兩個類別:
<code class="python">class WithClass (): def __init__(self): self.value = "Bob" def my_func(self): print(self.value) class WithoutClass (): value = "Bob" def my_func(self): print(self.value)</code>
乍一看,這些類別看起來是相同的。然而,一個微妙的差異在於值變數的放置。在第一個類別 (WithClass) 中,value 在 __init__() 方法內初始化,而在第二個類別 (WithoutClass) 中,它在方法外部宣告。
變數在__init__() 之外(Class屬性)與__init__() 內的變數(實例屬性)
變數的位置決定了它是類屬性還是實例屬性。
放置的後果
這種差異會對程式碼行為和維護產生影響。
放置位置的選擇
放置變數的位置的選擇取決於您的方式希望它在類別中表現良好。如果您希望共用值在實例之間保持不變,請使用類別屬性。如果您希望每個實例都有唯一的值,請在 __init__() 中建立它作為實例屬性。
透過了解 __init__() 內部和外部變數之間的區別,您可以設計具有清晰且可預測行為的類,避免潛在的混亂和陷阱。
以上是Python 中 `__init__()` 內部和外部定義的變數有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!