python中自省的意思是什么

  

python中自省的意思是什么?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

什么是自省?

在日常生活中,自省(自检)是一种自我检查行为。

在计算机编程中,自省是指这种能力:检查某些事物以确定它是什么,它知道什么以及它能做什么。自省向程序员提供了极大的灵活性和控制力。

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

例如python, buby, object - c, c++都有自省的能力,这里面的c++的自省的能力最弱,只能够知道是什么类型,而像python可以知道是什么类型,还有什么属性。

最好的理解自省就是通过例子:类型introspection 这里是各种编程语言中自省(自检)的例子(这个链接里的例子很重要,也许你很难通过叙述理解什么是内省,但是通过这些例子,一下子你就可以理解了)

回到Python, Python中比较常见的自省(自检)机制(函数用法)有:dir()、类型(),hasattr (), isinstance(),通过这些函数,我们能够在程序运行时得知对象的类型,判断对象是否存在某个属性,访问对象的属性。

<强> dir()

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

在祝辞祝辞import 关键字   在祝辞祝辞,dir(关键字)   [& # 39;__all__& # 39;,, & # 39; __builtins__& # 39;,, & # 39; __doc__& # 39;,, & # 39; __file__ # 39;,, & # 39; __name__ # 39;,, & # 39; __package__& # 39;,, & # 39; iskeyword& # 39;,, & # 39; kwlist& # 39;,, & # 39;主要# 39;]

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

在祝辞祝辞,类型(42)& lt; class  & # 39; int # 39;比;   祝辞祝辞祝辞,类型([])& lt; class  & # 39;列表# 39;在

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

在祝辞祝辞,isinstance (“python",, str)   真正

看完上述内容,你们掌握python中自省的意思是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

python中自省的意思是什么