python self怎么用,python 自省机制
什么是自省?
在日常生活中,自省是一种自省行为。
在计算机编程中,自省指的是检查某物以确定它是什么、它知道什么以及它能做什么的能力。自省为程序员提供了极大的灵活性和控制力。
更简单地说,自省意味着用面向对象语言编写的程序可以在运行时知道对象的类型。简单来说,运行时可以知道对象的类型。
比如python,buby,object-C,C,C都有内省的能力。其中C的自省能力最弱,只能知道是什么类型,而python可以知道是什么类型,有什么属性。
理解自省最好的方法是通过例子:类型自省下面是各种编程语言中的自省例子(这个链接中的例子非常重要,你可能很难通过叙述理解什么是自省,但是你可以通过这些例子一下子理解)
回到Python,Python中比较常见的自省机制(函数用法)有:dir()、type()、hasattr()、isinstance()。通过这些函数,我们可以知道一个对象的类型,判断一个对象是否具有某种属性,并在程序运行时访问该对象的属性。
dir()
dir()函数可能是Python自省机制中最著名的部分。它返回传递给它的任何对象的属性名的有序列表。如果没有指定对象,dir()返回当前范围内的名称。让我们将dir()函数应用于关键字模块,并观察它揭示了什么:
导入关键字
目录(关键字)
[__all__ , __builtins__ , __doc__ , __file__ , __name__ , __package__ , iskeyword , kwlist , main ]type()
type()函数帮助我们确定一个对象是字符串还是整数,或者其他类型的对象。它通过返回一个type对象来实现这一点,该对象可以与types模块中定义的类型进行比较:
type(42)class int
类型([])类别“列表”isinstance()
可以使用isinstance()函数测试对象,以确定它是特定类型的实例还是自定义类的实例:
isinstance(python ,str)
真正的Python自省中help用法扩展:
打开python的IDLE,就会进入python解释器。python解释器本身被认为是一个主模块,然后在解释器提示符下输入一些我们想知道的信息,所以首先我们会请求帮助,所以输入help,然后输入help(),我们会进入help实用程序,然后按照提示关键字,modules,来了解python的关键字和python自己的或者我们安装定义的附加模块,如果要退出,输入 q 再输入。
如果我们想了解一个对象(python中的所有对象都可以看作对象),我们也可以求助,求助()。但是我们需要在括号里输入对象的名称,格式是help(对象),比如help(打印)。鉴于对象的内省内容太多,有的只是粘贴掉一部分。
帮助
键入help()获得交互式帮助,或键入help(object)获得有关对象的帮助。
帮助()
欢迎使用Python 3.6的帮助工具!
如果这是你第一次使用Python,你一定要看看
https://docs.python.org/3.6/tutorial/.大学的网上教程
输入任何模块、关键字或主题的名称,以获得写作帮助
Python程序和使用Python模块。要退出此帮助实用程序并
回到解释器,只需键入“退出”。
.
帮助关键字
以下是Python关键字的列表。输入任何关键字以获得更多帮助。
假定义,如果提出
无del进口退货
真实elif in try
else是while
除了lambda和
最终断言非本地产量
无缘无故地分手
来自或的类
继续全球通行
帮助模块
请稍候,我正在收集所有可用模块的列表.
PIL base64 idlelib runpy
__future__ bdb idna运行脚本
__main__ binascii idna_ssl sched
_ast binhex imaplib scrolledlist
_asyncio将imghdr搜索一分为二
_平分浏览器工具
.
输入任何模块名称以获得更多帮助。或者,键入"模块垃圾邮件"进行搜索
对于其名称或摘要包含字符串"垃圾邮件"的模块。
帮助("打印")
内置函数帮助打印模块内置:
打印(.)
打印(值,sep= ,end=n ,file=sys.stdout,flush=False)
默认情况下,将值打印到流或sys.stdout .
可选关键字参数:
文件:一个类似文件的对象(流);默认为当前的sys.stdout .
sep:在值之间插入字符串,默认为空格。
end:字符串追加在最后一个值之后,默认为换行符。
是否强制刷新流。推荐教程: 《Python教程》 《Python教程》
以上就是计算机编程语言的自省是什么?的详细内容,更多请关注盛行信息技术软件开发工作室其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。