それなりブログ

とあるWebエンジニアのそれなりのブログ、JavaScript/Node.js/Python/PHP/ゲーム作成 など

[Python] hasattrで属性の有無をチェック

オブジェクトの属性(attribute)の有無を調査する時に、
組み込み関数の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 の三兄弟が揃って気分爽快!

2 Responses to “[Python] hasattrで属性の有無をチェック”


コメントを残す

メールアドレスが公開されることはありません。

Categories

Archives