8.15. 类型-内置类型的名称

源代码: Lib/types.py


该模块为标准 Python 解释器使用的某些对象类型定义名称,但不为各种扩展模块定义的类型定义名称。而且,它不包括在处理过程中出现的某些类型,例如listiterator类型。使用from types import *是安全的-除此处列出的名称外,该模块不会导出其他任何名称。该模块的将来版本导出的新名称都将以Type结尾。

典型的用法是根据参数类型执行不同操作的函数,如下所示:

from types import *
def delete(mylist, item):
    if type(item) is IntType:
       del mylist[item]
    else:
       mylist.remove(item)

从 Python 2.2 开始,内置的工厂函数(例如int()str())也是相应类型的名称。现在,这是访问类型的首选方法,而不是使用types模块。因此,以上示例应写为:

def delete(mylist, item):
    if isinstance(item, int):
       del mylist[item]
    else:
       mylist.remove(item)

该模块定义以下名称:

2.3 版的新Function。

2.2 版中的新Function。

2.5 版的新Function。

CPython 实现细节: 在其他 Python 实现中,此类型可能与GetSetDescriptorType相同。

2.5 版的新Function。

2.2 版中的新Function。

首页