if 'methodName' in dir(myClassInstance): result=myClassInstance.methodName()
我想知道是否有更常见的“标准化”方式来做同样的事情。
答案 0 :(得分:2)
使用hasattr
。如果给定对象具有给定名称作为属性,则返回True
,否则False
:
if hasattr(myClassInstance, 'methodName'):
... # Whatever you want to do as a result.
答案 1 :(得分:1)
使用hasattr(myClassInstance, 'methodName')
。
另一种可能性是尝试访问它并处理异常(如果它不存在):
try:
myClassInstance.methodName()
except AttributeError:
# do what you need to do if the method isn't there
你将如何处理这个问题取决于你进行检查的原因,对象没有那个属性的常见程度,以及你不想做的事情。