興味深い議論を stackoverflow で見つけました
exception handling - python isinstance vs hasattr vs try/except: What is better? - Stack Overflow
以外にも、try~except: を使う方が Python 言語として良いとされてます。
でもコード可読性、それから、対象チェックの指定で、タプルを指定できる isinstance が
優れているように思いました。
タプルを指定して問い合わせれる例
# -*- coding: UTF-8 -*- from datetime import datetime, date ary = [datetime.now(), date.today(), True] for obj in ary: if isinstance(obj, (datetime, date)): print('datetime or date : {}'.format(type(obj))) else: print('Not datetime , date : {}'.format(type(obj)))
結果、、
datetime or date : <class 'datetime.datetime'> datetime or date : <class 'datetime.date'> Not datetime , date : <class 'bool'>