【发布时间】:2013-07-18 12:34:11
【问题描述】:
例如:
>>> s = 'string'
>>> hasattr(s, 'join')
True
>>> 'join' in dir(s)
True
Python documentation 表示 hasattr 是通过调用 getattr 来实现的,并查看它是否引发异常。但是,这会导致很大的开销,因为获得的值会被丢弃,并且可能会引发异常。
问题是,如果调用'attribute' in dir(obj) 意味着同样的事情,它是否更快、更安全,还是可能在特定场合失败?
【问题讨论】:
标签: python