python五十:反射
生活随笔
收集整理的这篇文章主要介绍了
python五十:反射
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
class Earth:def __init__(self, name, address, amount):self.name = nameself.address = addressself.__popAmt = amountdef 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__)
总结
以上是生活随笔为你收集整理的python五十:反射的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 汇编: loop指令
- 下一篇: python五十一:动态导入模块,通过字