hasattr(object, name) 檢查指定對象是否包含指定的屬性。python
class Comsumer(): gender = 'girls' def __init__(self, name): self.name = name def buy(self, commodity): print('%s買了%s' % (self.name, commodity)) if __name__ == '__main__': c = Comsumer('Alice') print(hasattr(c, 'gender')) #True print(hasattr(c, 'name')) #True print(hasattr(c, 'buy')) #True
getattr(object, name[, default])返回指定對象中指定屬性的值,還可給這個屬性指定默認值。app
class Comsumer(): gender = 'girls' def __init__(self, name): self.name = name def buy(self, commodity): print('%s買了%s' % (self.name, commodity)) if __name__ == '__main__': c = Comsumer('Alice') gender = getattr(c,'gender') print(gender) #girls name = getattr(c,'name') print(name) #Alice buyer = getattr(c,'buy') buyer('apple') #Alice買了apple
setattr(object, name, value) 將指定對象的指定屬性設置爲指定的值。對象
class Comsumer(): gender = 'girls' def __init__(self, name): self.name = name def buy(self, commodity): print('%s買了%s' % (self.name, commodity)) if __name__ == '__main__': c = Comsumer('Alice') setattr(c, 'gender', 'boy') print(c.gender) #boy setattr(c,'name','Eason') print(c.name) #Eason
delattr(object, name) 刪除指定對象的指定屬性。不能夠刪除類屬性和對象方法。blog
class Comsumer(): gender = 'girls' def __init__(self, name): self.name = name def buy(self, commodity): print('%s買了%s' % (self.name, commodity)) if __name__ == '__main__': c = Comsumer('Alice') delattr(c, 'name') print(hasattr(c, 'name')) #False