自省就是面向对象的语言所写的程序在运行时,所能知道对象的类型.简单一句就是运行时能够获得对象的类型.比如type(),dir(),getattr(),hasattr(),isinstance().
a...type(b),type(c) #
print isinstance(a,list) # True
反射
反射机制就是在运行时...就像上面的属性调用,我们就可以使用hasattr(a, "test")来判断,通过源码注释我们也可以思考一下,eval这种是不是也可以实现这种方法呢?...getattr()
有了判断属性是否存在的函数,那么就得有获取属性的函数了.
def getattr(object, name, default=None): # known special case...setattr
判断和获取属性有了,那么设置属性也是需要的.
def setattr(x, y, v): # real signature unknown; restored from __doc__