hasattr関数について | Python備忘録
# はじめに
今度開く勉強会のためにLINEボットのSDKを調べてたら、hasattr関数が使われていて、知らなかったので調べた。
ちなみに、勉強会はこちら↓
勉強会の参加募集案内が開始されました!
— Python勉強会 (@PythonStudyGrup) 2018年3月6日
PythonでLINEボットを作るお話です!
---
【サポーターズCoLab勉強会】Python勉強会 https://t.co/iCwHdn0g5h
# 参照
# 結論
公式ドキュメントには次のように書いてあった。
hasattr(object, name)(原文) 引数はオブジェクトと文字列です。文字列がオブジェクトの属性名の一つであった場合 True を、そうでない場合 False を返します。 (この関数は、 getattr(object, name) を呼び出して AttributeError を送出するかどうかを見ることで実装されています。)
なるほど。ということは、次のような感じに実装されているのかな?
def hasattr(object, name): try: getattr(object, name) return True except AttributeError: return False except BaseException as err: raise err