Pythonの勉強 クラスについて
クラスについて勉強していたら、この例文に悩んだ。
リスト 2 : Point クラス
class Point:
def __init__(self, x1, y1):
self.x = x1
self.y = y1# 2 点間の距離を求める
def distance(p1, p2):
dx = p1.x - p2.x
dy = p1.y - p2.y
return math.sqrt(dx * dx + dy * dy)
を眺めていて
>>> a = Point(0, 0)
>>> b = Point(10, 10)
>>> a.distance(b) 14.142135623730951
なんでPointクラスのインスタンスをdestanceに入れると距離の計算になるのか。
で、考えてみたけど、Pointクラスのインスタンスに引数を入れる事は、__init__の引数になっているんだと把握した。そうすれば、引数の入ったインスタンスを引数で指定することで、インスタンス内の二つの引数が自動的に入れられている。
__init__は便利なものですねって確認しました。