python的自省,如type(),dir(),getattr(),hasattr(),isinstance().

class Person:
    def __init__(self):
        self.name = '小王'


p = Person()
print(hasattr(p, 'name'))  # hasattr(object, name):判斷一個對象裏面是否有name屬性或者name方法,返回BOOL值
print(hasattr(p, 'age'))
print(getattr(p, 'name'))  # getattr(object, name[,default]):獲取對象object的屬性或者方法,若是存在打印出來,若是不存在,打印出默認值,默認值可選
print(getattr(p, 'age', setattr(p, 'age', 18)))  # setattr(object, name, values):給對象賦值


輸出結果:
True
False
小王
18 
相關文章
相關標籤/搜索