70. 什么是 Python 自省?

自省就是面向对象的语言所写的程序在运行时,能够知道对象的类型。简单一句就是,运行时能够获知对象的类型

dir()

 dir() 函数可能是 Python 自省机制中最著名的部分了。它返回传递给它的任何对象的属性名称经过排序的列表。如果不指定对象,则 dir() 返回当前作用域中的名称。让我们将 dir() 函数应用于 keyword 模块,并观察它揭示了什么:

 type()
 type() 函数有助于我们确定对象是字符串还是整数,或是其它类型的对象。它通过返回类型对象来做到这一点,可以将这个类型对象与 types 模块中定义的类型相比较:


  hasattr()

 对象拥有属性,并且 dir() 函数会返回这些属性的列表。但是,有时我们只想测试一个或多个属性是否存在。如果对象具有我们正在考虑的属性,那么通常希望只检索该属性。这个任务可以由 hasattr() 和 getattr() 函数来完成.

 
 isinstance() 

 可以使用 isinstance() 函数测试对象,以确定它是否是某个特定类型或定制类的实例:

 

看这几个例子,就是你想知道对象的类型的时候只要你在类中写过函数,或者调用内置函数,你都能知道

发布了79 篇原创文章 · 获赞 7 · 访问量 9352

猜你喜欢

转载自blog.csdn.net/CHERISHGF/article/details/105327161
今日推荐