您现在的位置是:课程教程文章
python自省是什么
2023-12-18 22:41课程教程文章 人已围观
-
Python数据分析与机器学习项目实战_腾讯课
Python数据分析与机器学习项目实战_腾讯课... -
微信支付v3版python_查询订单
微信支付v3版python_查询订单微信支付V3版系列课程详细讲解微信支付的 JSAPI支付 、 H5支付 、 Native支付 、... -
Python爬虫实战VIP班【灵犀教育】
Python爬虫实战VIP班【灵犀教育】联系 琳琳老师 QQ:2398519004,微信:17786106713 获取源代码。获取课程表,了解课... -
【多测师】Python/Java/Postman/接口自动化/框
【多测师】Python/Java/Postman/接口自动化/框课程首先采用requests库组建简单的post和get接口请求,再一步步带大家对线性的接...
什么是自省?
在日常生活中,自省(introspection)是一种自我检查行为。
在计算机编程中,自省是指这种能力:检查某些事物以确定它是什么、它知道什么以及它能做什么。自省向程序员提供了极大的灵活性和控制力。
说的更简单直白一点:自省就是面向对象的语言所写的程序在运行时,能够知道对象的类型。简单一句就是,运行时能够获知对象的类型。
例如python, buby, object-C, c++都有自省的能力,这里面的c++的自省的能力最弱,只能够知道是什么类型,而像python可以知道是什么类型,还有什么属性。
最好的理解自省就是通过例子: Type introspection 这里是各种编程语言中自省(introspection)的例子(这个链接里的例子很重要,也许你很难通过叙述理解什么是introspection,但是通过这些例子,一下子你就可以理解了)
回到Python,Python中比较常见的自省(introspection)机制(函数用法)有: dir(),type(), hasattr(), isinstance(),通过这些函数,我们能够在程序运行时得知对象的类型,判断对象是否存在某个属性,访问对象的属性。
dir()
dir() 函数可能是 Python 自省机制中最著名的部分了。它返回传递给它的任何对象的属性名称经过排序的列表。如果不指定对象,则 dir() 返回当前作用域中的名称。让我们将 dir() 函数应用于 keyword 模块,并观察它揭示了什么:
>>> import keyword >>> dir(keyword) ['__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'iskeyword', 'kwlist', 'main']
type()
type() 函数有助于我们确定对象是字符串还是整数,或是其它类型的对象。它通过返回类型对象来做到这一点,可以将这个类型对象与 types 模块中定义的类型相比较:
>>> type(42)<class 'int'> >>> type([])<class 'list'>
isinstance()
可以使用 isinstance() 函数测试对象,以确定它是否是某个特定类型或定制类的实例:
>>> isinstance("python", str) True课程教程:python自省是什么
上一篇:python如何单步调试
下一篇:没有了