class Earth:
def __init__(self, name, address, amount):
self.name = name
self.address = address
self.__popAmt = amount
def Rotation(self):
print("%s正在自转" % (self.name))
def Revolution(self):
print("%s正在公转"%(self.name))
e = Earth("地球","太阳系", 100000000000)
# hasattr 查看有没有一个对应的方法或属性
print(hasattr(e,"name"))
print(hasattr(e,"__popAmt"))
print(hasattr(e,"Rotation"))
# 获取对象的属性或方法的值, getattr同 对象.属性 是一样的功能,都是获取属性的值
print(getattr(e,"name")) # 返回属性的值
func = getattr(e,"Revolution") # 返回函数
func()
print(getattr(e, "abcefdsafd", "没有这个属性")) # 如果没有找到对应的属性,怎返回第三个参数的值
print(e.__dict__)
setattr(e, 'address', '银河系') # 修改属性的内容
setattr(e, "卫星", "月球") # 为对象新增一个属性 同 e.卫星= "月球"
print(e.__dict__)
delattr(e,"卫星") # 同del e.卫星
print(e.__dict__)