class Point:
def __init__(self, x = 0, y = 0):
self.x = x
self.y = y
def __sub__(self, other):
x = self.x + other.x
y = self.y + other.y
return Point(x,y)
p1 = Point(3, 4)
p2 = Point(1, 2)
result = p1-p2
print(result.x, result.y) # prints (4,6)
誰でも上記のコードの仕組みを説明できますか。その周りに私の頭を得ることができません。 私は__sub__
がpythonの演算子オーバーローダであり、p1-p2呼び出しをインターセプトすることを理解しています。しかし、クラスの2つの別々のインスタンスでどのように動作しますか?Python __sub__クラスインスタンスでの使用
特定の部分はありますか? –
'p1-p2'は' p1 .__ sub __(p2) 'コールを返します... –
これは' __add __() 'メソッドの実装に似ていて、' __sub __() 'ではありません。どのように動作しますか: 'p1-p2'は' p1 .__ sub __(p2) 'に変わります。 – jasonharper