コンストラクタ


クラスはclassキーワードを使って定義されます。つぎに簡単なクラスPointを示します。

class Point :
  x = 0.0
  y = 0.0
  def __init__(self, x1, y1) :
    self.x = x1
    self.y = y1

  def toString(self) :
    return '(' + str(self.x) + ', ' + str(self.y) + ')'

この例で、コンストラクタは、__init__です。コンストラクタを含め、クラスのメソッドの最初の引数はふつうselfです。これはそのクラス自身を表し、メンバにアクセスするときは、上の例におけるself.xように使います。

このクラスをインスタンス化するには

p1 = Point(-1.0, 1.0)

のようにします。つまりselfは書きません。この例でメソッドtoString()はPointの文字列表現を返すメソッドです。このメソッドは次のように呼び出します(selfを書かないことに注意)。

print p1.toString()