在学习python的面向对象编程时,获取对象的某个属性时,可以使用*attr()函数来进行相应操作,免去了编写get方法。
*attr()具体如下:
hasattr(object, name) # 为了确定object对象有无name属性
getattr(object, name) # 获得该属性的值
setattr(object, name, value) # 赋予对象属性,可以加入新属性,也可以更新旧属性
delattr(object, name) # 删除旧属性
class Fruit(object):
def __init__(self):
self.apple = 1
shop = Fruit()
print hasattr(shop, 'apple') # True
print getattr(shop, 'apple') # 1
setattr(shop, 'apple', 4)
print getattr(shop, 'apple') #4
delattr(shop, 'apple')
print getattr(shop, 'apple') #AttributeError: 'Fruit' object has no attribute 'apple'