ホームページ  >  記事  >  バックエンド開発  >  Python の __sub__() 関数を使用して 2 つのオブジェクトの減算演算を定義する

Python の __sub__() 関数を使用して 2 つのオブジェクトの減算演算を定義する

PHPz
PHPzオリジナル
2023-08-22 12:00:201107ブラウズ

Python の __sub__() 関数を使用して 2 つのオブジェクトの減算演算を定義する

タイトル: Python の __sub__() 関数を使用して 2 つのオブジェクトの減算演算を定義する

Python は、特別なメソッドを備えた簡潔で効率的なプログラミング言語です。オブジェクトの動作。この記事では、Python で __sub__() 関数を使用して 2 つのオブジェクト間の減算演算を定義する方法を学びます。サンプル コードを通じて、オブジェクトを減算できるように減算演算子をオーバーロードする方法を示します。

Python の特別なメソッドは二重アンダースコアで始まり、終わり、組み込みの演算子と関数に関連する動作を定義します。減算演算の場合、特別なメソッド __sub__() を使用して、2 つのオブジェクトが減算されるときの動作を定義する必要があります。

例を使用して、2 つのオブジェクトの減算演算を定義する方法を説明します。 2 次元ベクトルを表す Vector というカスタム クラスがあるとします。 2 つのベクトルを減算して新しいベクトルを取得できるようにしたいと考えています。

以下は Vector クラスの定義です:

class Vector:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __sub__(self, other):
        return Vector(self.x - other.x, self.y - other.y)

    def __str__(self):
        return f"Vector({self.x}, {self.y})"

上記のコードでは、2 つの属性 x と y を持つ Vector クラスを定義します。 __sub__() メソッドは、別のベクトルをパラメーターとして受け取り、2 つのベクトルの差を計算し、新しい Vector オブジェクトを返します。

次に、減算の例として Vector クラスを使用してみましょう:

v1 = Vector(3, 4)
v2 = Vector(1, 2)

v3 = v1 - v2
print(v3)  # 输出:Vector(2, 2)

上の例では、ベクトル (3, 4 ) と ( 1、2)。次に、減算演算子「-」を使用して v1 と v2 を減算し、その結果を v3 に代入します。最後に、v3 を出力します。その結果は、ベクトル (3, 4) からベクトル (1, 2) を引いたものを表す新しい Vector オブジェクト (2, 2) になります。

__sub__() 特殊メソッドを使用して、2 つのオブジェクト間の減算演算を定義し、Vector クラスに減算演算の機能を持たせます。

要約すると、Python の __sub__() 関数を使用すると、2 つのオブジェクト間の減算演算を簡単に定義できます。クラスに __sub__() メソッドを実装するだけで、2 つのオブジェクトの減算ロジックを処理し、新しいオブジェクトを返すことができます。このようにして、プログラミングのニーズに合わせてオブジェクトの動作をカスタマイズできます。

以上がPython の __sub__() 関数を使用して 2 つのオブジェクトの減算演算を定義するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。