Python中如何实现反射机制?
- 内容介绍
- 文章标签
- 相关推荐
本文共计531个文字,预计阅读时间需要3分钟。
反射是将字符串反转成内存对象。反射可以将字符串映射到实例的变量或方法,然后执行调用、修改等操作。它有四个重要方法:getattr 获取指定属性。
什么是反射
反射就是把字符串反射成内存对象。
反射,它可以把字符串映射到实例的变量或者实例的方法然后可以去执行调用、修改等操作。它有四个重要的方法:
- getattr 获取指定字符串名称的对象属性
- setattr 为对象设置一个对象
- hasattr判断对象是否有对应的对象(字符串)
- delattr 删除指定属性
attr是属性英文的前几个字母,属性指的是类中类变量、实例变量和方法。但是要注意不能是私有的,如果你的变量是以“_”开头,那将无法获取。
1 class TestObj(object): 2 3 def __init__(self, name, age): 4 self.name = name 5 self.age = age 6 7 def displayName(self): 8 print("displayName方法执行,打印姓名:", self.name) 9 10 def AAA(self): 11 print("I am AAA.") 12 13 def main(): 14 to = TestObj("Tom", 23) 15 # 查看 to 实例里面是否有 name 这个属性 16 if hasattr(to, "name"): 17 print("实例 to 中有 name 属性。
本文共计531个文字,预计阅读时间需要3分钟。
反射是将字符串反转成内存对象。反射可以将字符串映射到实例的变量或方法,然后执行调用、修改等操作。它有四个重要方法:getattr 获取指定属性。
什么是反射
反射就是把字符串反射成内存对象。
反射,它可以把字符串映射到实例的变量或者实例的方法然后可以去执行调用、修改等操作。它有四个重要的方法:
- getattr 获取指定字符串名称的对象属性
- setattr 为对象设置一个对象
- hasattr判断对象是否有对应的对象(字符串)
- delattr 删除指定属性
attr是属性英文的前几个字母,属性指的是类中类变量、实例变量和方法。但是要注意不能是私有的,如果你的变量是以“_”开头,那将无法获取。
1 class TestObj(object): 2 3 def __init__(self, name, age): 4 self.name = name 5 self.age = age 6 7 def displayName(self): 8 print("displayName方法执行,打印姓名:", self.name) 9 10 def AAA(self): 11 print("I am AAA.") 12 13 def main(): 14 to = TestObj("Tom", 23) 15 # 查看 to 实例里面是否有 name 这个属性 16 if hasattr(to, "name"): 17 print("实例 to 中有 name 属性。

