python 判断类是否存在某个属性或方法
'''
判断类的属性和方法是否存在
'''
class A:
value = 1
def __init__(self):
pass
def getValue(self):
print('value:{}'.format(self.value))
def setValue(self,value):
self.value = value
if __name__=='__main__':
a = A
op = hasattr(a,'getValue')
print(op)
print(hasattr(a,'AA'))
print(hasattr(a,'value'))
print(dir(a))
print('value' in dir(a))
True
False
True
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'getValue', 'setValue', 'value']
True