何为自省
在计算机编程领域里,自省是一种能力,是通过一定机制在程序运行时获知对象的类型及对象的内部结构,Python的自省能力还是很强大的,因为Python中一切皆对象,我们不仅可以获取对象的类型,还可以获取对象内部的属性。下面就来介绍一下Python中一些提供强大自省能力的方法。
dir()函数
它是用于自省的最重要的函数之一。它以列表的形式返回一个对象所拥有的全部属性和方法,如果dir()不传任何参数,默认是查找当前命名空间有什么对象。
user = {"nickname": "tigeriaf", "level": 2}
print(dir(user))
执行结果为:
上面的dir()自省输出了一个字典对象的所有方法的名字。当我们记不太清某个对象的某个方法的名字时,使用这个是非常有帮助的。
type()函数和id()函数
type()函数返回一个对象的类型。例如:
print(type('tigeriaf'))
# 结果输出为 <class 'str'>
print(type(2))
# 结果输出为 <class 'int'>
print(type([1, 2, 3]))
# 结果输出为 <