先介绍一个词
反射机制
什么是反射机制
在 Python 中使用反射可以得到对象的所有属性,这个机制被称为反射(反过来让对象告诉我们他是什么),用于实现在运行时获取未知对象的信息。
- python中有几个内置方法,可以用来检查或是访问对象的属性。这些方法可以用于任意对象;
dir([obj]):
调用这个方法将返回包含obj大多数属性名的列表(会有一些特殊的属性不包含在内)。obj的默认值是当前的模块对象。hasattr(obj, attr):
这个方法用于检查obj是否有一个名为attr的值的属性,返回一个布尔值。getattr(obj, attr):
调用这个方法将返回obj中名为attr值的属性的值,setattr(obj, attr, val):
调用这个方法将给obj的名为attr的值的属性赋值为val。type(obj)
判断对象类型,使用type()函数
class Pear():
def name(self):
print('我是梨子')
def func(self):
print('yunfeizhike')
import types
p = Pear()
print(dir(p))
print(type(p))