84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
人生最曼妙的风景,竟是内心的淡定与从容!
インスタンスを作成したくないため静的メソッドは宣言されていませんが、メソッドがインスタンス自体のデータを変更しないことが宣言されています。
classmethod は、インスタンスを作成するのではなく、クラス自体を操作するため、宣言されていません (cls を渡した後、独自のプロパティとメソッドを操作できます)。
これはあくまで私の個人的な意見ですので、ご参考までに。
少し簡単に理解すると役に立つかもしれません
Python クラスの @staticmethod と @classmethod についての簡単な説明
直感的に、classmethod と staticmethod の関数シグネチャは異なります。一方にはパラメーターがあり、もう一方にはパラメーターがありません。 はすべて Python デコレータです。クラスメソッドではパラメータは cls である必要はなく、任意の名前付き変数を使用できることに注意してください。親クラスと子クラスが関与していない場合、両者の動作は同じように見えますが、親クラスと子クラスが設計されている場合、クラスメソッドは呼び出し元の子クラスのオブジェクトを決定できます
静的メソッド、クラスメソッド、および通常の内部メソッドの違いは、使用方法の微妙な違いだけでなく、コードの分離にもあります。 static にはクラスやインスタンスの情報は必要ありません。 class にはクラス情報が必要です。 通常のメソッドにはインスタンス情報が必要です。これらの詳細にはあまり注意を払わないでください。分からない時は普通に書いて下さい。必要を感じたときにどちらに切り替えるべきかがわかります。
リーリー
オブジェクト指向言語では、static は通常、変更されたメソッドまたは変数がインスタンスに属さず、クラスに属していることを意味します。
static
静的メソッドの役割: インスタンスを構築せずにメソッドを呼び出す必要がある場合、このメソッドを静的として定義する必要があります。静的メソッドは override にすることができず、ほとんどの OO 機能を備えていません。実際には、静的メソッドには手続き型言語の概念があります。
override
Python コードを書いた私自身の経験に基づくと、たとえば、静的メソッドと関数のどちらを選択すればよいのかわかりません。したがって、OO ではなく Python 独自の機能を学ぶことに重点を置くことをお勧めします。
インスタンスを作成したくないため静的メソッドは宣言されていませんが、メソッドがインスタンス自体のデータを変更しないことが宣言されています。
classmethod は、インスタンスを作成するのではなく、クラス自体を操作するため、宣言されていません (cls を渡した後、独自のプロパティとメソッドを操作できます)。
これはあくまで私の個人的な意見ですので、ご参考までに。
少し簡単に理解すると
役に立つかもしれません
Python クラスの @staticmethod と @classmethod についての簡単な説明
直感的に、classmethod と staticmethod の関数シグネチャは異なります。一方にはパラメーターがあり、もう一方にはパラメーターがありません。
リーリーはすべて Python デコレータです。クラスメソッドではパラメータは cls である必要はなく、任意の名前付き変数を使用できることに注意してください。親クラスと子クラスが関与していない場合、両者の動作は同じように見えますが、親クラスと子クラスが設計されている場合、クラスメソッドは呼び出し元の子クラスのオブジェクトを決定できます
静的メソッド、クラスメソッド、および通常の内部メソッドの違いは、使用方法の微妙な違いだけでなく、コードの分離にもあります。 static にはクラスやインスタンスの情報は必要ありません。 class にはクラス情報が必要です。 通常のメソッドにはインスタンス情報が必要です。これらの詳細にはあまり注意を払わないでください。分からない時は普通に書いて下さい。必要を感じたときにどちらに切り替えるべきかがわかります。
リーリー
オブジェクト指向言語では、
static
は通常、変更されたメソッドまたは変数がインスタンスに属さず、クラスに属していることを意味します。静的メソッドの役割: インスタンスを構築せずにメソッドを呼び出す必要がある場合、このメソッドを静的として定義する必要があります。静的メソッドは
override
にすることができず、ほとんどの OO 機能を備えていません。実際には、静的メソッドには手続き型言語の概念があります。Python コードを書いた私自身の経験に基づくと、たとえば、静的メソッドと関数のどちらを選択すればよいのかわかりません。したがって、OO ではなく Python 独自の機能を学ぶことに重点を置くことをお勧めします。