[Python] hasattrで属性の有無をチェック
2009年10月16日
オブジェクトの属性(attribute)の有無を調査する時に、
組み込み関数のhasattrでの存否確認方法を知らなくて↓
組み込み関数のhasattrでの存否確認方法を知らなくて↓
class Klass(object): def __init__(self): self.foo = 1 k = Klass() print hasattr(k, "foo") print hasattr(k, "bar")
AttributeErrorでやってた損してた↓
class Klass(object): def __init__(self): self.foo = 1 k = Klass() try: print k.foo print k.bar except AttributeError: print "Not Found!"
・・・という話です、微ネタでスマソ。
【参考】
Pythonマニュアル該当部分
hasattrと例外処理(AttributeError)の処理性能差 – てけらぼ
これで、getattr, setattr, hasattr の三兄弟が揃って気分爽快!