__init__() の内側と外側の変数の違い (クラスとインスタンスの属性) 質問する

__init__() の内側と外側の変数の違い (クラスとインスタンスの属性) 質問する

名前以外にこれらのクラスの間に何か違いはありますか?

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)

__init__変数を宣言するためのメソッドを使用するか使用しないかによって何か違いがありますかvalue?

私が最も心配しているのは、それを特定の方法で使用することで、将来的にさらなる問題が発生するのではないかということです。

ベストアンサー1

外部に設定された変数は__init__クラスに属します。それらはすべてのインスタンスによって共有されます。

内部__init__(および他のすべてのメソッド関数) で作成され、先頭に が付く変数は、self.オブジェクト インスタンスに属します。

おすすめ記事