Python的自省机制_第1页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、python的自省机制什么是自省? 在日常生活中,自省(introspection)是一种自我检查行为。 在计算机编程中,自省是指这种能力:检查某些事物以确定它是什么、它知道什么以及它能做什么。自省向程序员提供了极大的灵便性和控制力。 说的更容易直白一点:自省就是面对对象的语言所写的程序在运行时,能够知道对象的类型。容易一句就是,运行时能够获知对象的类型。 例如python, buby, object-c, c+都有自省的能力,这里面的c+的自省的能力最弱,只能够知道是什么类型,而像python可以知道是什么类型,还有什么属性。 最好的理解自省就是通过例子: type introspectio

2、n 这里是各种编程语言中自省(introspection)的例子(这个链接里的例子很重要,大概你很难通过讲述理解什么是introspection,但是通过这些例子,一下子你就可以理解了) 回到python,python中比较频繁的自省(introspection)机制(函数使用)有: dir(),type(), hasattr(), isinstance(),通过这些函数,我们能够在程序运行时得知对象的类型,推断对象是否存在某个属性,拜访对象的属性。 dir() dir() 函数可能是 python 自省机制中最闻名的部分了。它返回传递给它的任何对象的属性名称经过排序的列表。假如不指定对象,则

3、 dir() 返回当前作用域中的名称。让我们将 dir() 函数应用于 keyword 模块,并观看它揭示了什么: type() type() 函数有助于我们确定对象是字符串还是整数,或是其它类型的对象。它通过返回类型对象来做到这一点,可以将这个类型对象与 types 模块中定义的类型相比较: hasattr() 对象拥有属性,并且 dir() 函数会返回这些属性的列表。但是,有时我们只想测试一个或多个属性是否存在。假如对象具有我们正在考虑的属性,那么通常希翼只检索该属性。这个任务可以由 hasattr() 和 getattr() 函数来完成. isinstance() 可以用法 isinst

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论