組み込み関数 setattr, getattr, hasattr, delattr

 attrとはクラスのアトリビュートの意味。アトリビュートを操作する関数群です。
わざわざ組み込み関数にする必要があるかは疑問です。

 setattr(object, name, value)

 クラスobjectのアトリビュート名nameに値valueを代入するときに使います。
 "object.name = value" と同じ意味です。

 getattr(object, name)

 クラスobjectのアトリビュート名nameの値を返します。
 "object.name" と同じ意味です。

 hasattr(object, name) 

 クラスobjectがアトリビュート名nameを持っているか確認します。持っていれば"True"を持っていなければ"False"を返します。

 delattr(object, name)

 クラスobjectのアトリビュート名nameを削除します。
 "del(object, name)"と同じ意味です。


#coding: shift-jis

class X(object): ←取り敢えずクラスXを作ります。
  a = 123

print X.a
setattr(X, 'a', 345) ←アトリビュートの名前は文字列なので
            クォーテションで囲みます。
print X.a

setattr(X, 's', 'ABCDE') ←クラスが定義できていれば、新規アトリビュートは
              定義可能です。
print getattr(X, 's') ←getattrで値を取得。

print hasattr(X, 'a') ←アトリビュートを持っているか確認できます。
print hasattr(X, 'b')

print hasattr(X, 's')
delattr(X, 's') ←アトリビュートを削除する例です。
print hasattr(X, 's')

raw_input()

出力画面:
 123
 345
 ABCDE
 True
 False
 True
 False