Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python比較演算子をオーバーロードする方法は?


Pythonには、演算子のオーバーロードされた動作を定義するための魔法のメソッドがあります。比較演算子(<、<=、>、> =、==、および!=)は、__ lt __、__ le __、__ gt __、__ ge __、__ eq__、および__ne__マジックメソッドに定義を提供することでオーバーロードできます。

次のプログラムのオーバーロード==および>=演算子を使用して、距離クラスのオブジェクトを比較します。

class distance:
      def __init__(self, x=5,y=5):
            self.ft=x
            self.inch=y

      def __eq__(self, other):
             if self.ft==other.ft and self.inch==other.inch:
                  return "both objects are equal"
             else:
                  return "both objects are not equal"

       def __ge__(self, other):
                 in1=self.ft*12+self.inch
                 in2=other.ft*12+other.inch
                 if in1>=in2:
                    return "first object greater than or equal to other"
                  else:
                    return "first object smaller than other"

d1=distance(5,5)
d2=distance()
print (d1==d2)
d3=distance()
d4=distance(6,10)
print (d1==d2)
d5=distance(3,11)
d6=distance()
print(d5>=d6)
上記のプログラムの結果は、==および>=比較演算子の過剰な使用を示しています

both objects are equal
both objects are equal
first object smaller than other

  1. 比較演算子の使用方法I=Excelで

    知っておくべきこと 6つの演算子:等しい( = )、より大きい( )、未満( )、以上( = )以下( <= )、等しくない( <> 。 最も一般的な比較演算子の使用法は、 IFです。 機能。 この記事では、Excelで比較演算子I=を使用する方法について説明します。手順は、Excelバージョン2019、2016、2013、2010、Excel Online、およびExcelforMacに適用されます。 6つの比較演算子 Excelで使用できる6つの比較演算子があります。 これらの演算子は、次のような条件をテストするために使用されます。 等しい:2つの値または文字列が同じ

  2. Pythonでオブジェクトを破棄する方法は?

    クラスは、インスタンスが破棄されようとしているときに呼び出される、デストラクタと呼ばれる特別なメソッド__del __()を実装します。このメソッドは、インスタンスによって使用される非メモリリソースをクリーンアップするために使用される場合があります。 例 この__del__()デストラクタは、破棄されようとしているインスタンスのクラス名を出力します- #!/usr/bin/python class Point:    def __init__( self, x=0, y=0):       self.x = x