__sub__ の主な問題は、元の型と互換性のないサブタイプを作成するために使用できることです。
def __sub__(self, other): """Subtract two vectors.""" if len(self) != len(other): raise ValueError("Cannot subtract vectors of different lengths.") return Vector([x - y for x, y in zip(self, other)])
これは、Vector オブジェクトの減算演算子の定義です。 減算される XNUMX つのベクトルが同じ長さでない場合、ValueError が発生します。 それ以外の場合は、コンポーネントが XNUMX つの入力ベクトルの対応するコンポーネントの差である新しい Vector オブジェクトを返します。
_sub_、自分自身の他の引数
Python では、サブ引数は別の引数の一部である引数です。 たとえば、次のコードでは、最初の引数 (x) は XNUMX 番目の引数 (y) のサブ引数です。
X = 5
y = 10
この場合、x と y は両方とも XNUMX 番目の引数 (z) のサブ引数です。
クラス インスタンス
Python では、クラスはクラスのインスタンスです。 クラスは、オブジェクトを作成するためのテンプレートです。 キーワード class の後にクラスの名前を指定して、クラスのインスタンスを作成します。 たとえば、MyClass クラスのインスタンスを作成するには、次のステートメントを使用します。
myclass = MyClass()
クラスで定義されているコンストラクター関数を使用して、クラスのインスタンスを作成することもできます。 コンストラクター関数は、作成するオブジェクトの名前である XNUMX つの引数を取ります。 たとえば、MyClass クラスのインスタンスを作成し、そのコンストラクター関数を呼び出すには、次のステートメントを使用します。
myclass = MyClass(name="ジョン")
マジックメソッド
Python で魔法のメソッドにアプローチする最良の方法は、特定のニーズによって異なるため、この質問に対する万能の答えはありません。 ただし、Python で魔法のメソッドを使用する方法に関するいくつかのヒントには、面倒なタスクを自動化したり、複雑な操作をすばやく簡単に実行したりするために使用することが含まれます。 さらに、正しく使用しないと危険になる可能性があるため、魔法のメソッドの使用に関連する潜在的なリスクを常に理解していることを確認してください.