python 判断类是否存在某个属性或方法

python 判断类是否存在某个属性或方法

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#@Time    :    2020/5/3 0003 12:47
#@Author  :    tb_youth
#@FileName:    hasAtrrTest.py
#@SoftWare:    PyCharm
#@Blog    :    https://blog.csdn.net/tb_youth

'''
判断类的属性和方法是否存在

'''

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
    # way1:hasattr
    op = hasattr(a,'getValue')
    print(op) #True
    print(hasattr(a,'AA')) #False
    print(hasattr(a,'value')) #True
    
    # way2:dir
    # 属性,方法列表
    print(dir(a))
    print('value' in dir(a)) #True
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

猜你喜欢

转载自blog.csdn.net/tb_youth/article/details/105902488
今日推荐