2012年6月19日火曜日

Python 簡単なクラスの作成法

Pythonでインタラクティブにクラスを生成する方法。
>>> class person: pass
... 
>>> person.name = "taro"
>>> person.age = 26
>>> print person.name
taro
属性(attribute)を後付けで定義している。
クラスのオブジェクトを定義しただけで、まだインスタンスは作っていない。
インスタンスを生成する。
>>> x = person()
>>> print x.name
taro



クラスにある属性を調べる
なぜかインスタンスのほうは定義したものしか現れない。
呼ばれるまで作らないということなのか??
>>> x.name = "jiro"
>>> person.__dict__.keys()
['age', '__module__', '__doc__', 'name']
>>> x.__dict__.keys()
['name']


どのクラスに関連付けされているかを調べるには
>>> x.__class__


あと付けで関数を定義して、それをクラスメソッドにする。
>>> def firstLetter(self):
...     return self.name[0]
... 
>>> firstLetter(x)
'j'
>>> person.method = firstLetter
>>> x.method()
'j'






0 件のコメント:

コメントを投稿