在线文档教程

types

types — Names for built-in types

源代码: 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)

该模块定义了以下名称:

types.NoneType

类型None

types.TypeType

类型对象的类型(如返回的type()); 内置的别名type

types.BooleanType

bool值的类型TrueFalse; 内置的别名bool

2.3版本的新功能。

types.IntType

整数类型(例如1); 内置的别名int

types.LongType

长整数的类型(例如1L); 内置的别名long

types.FloatType

浮点数的类型(例如1.0); 内置的别名float

types.ComplexType

复数的类型(例如1.0j)。如果Python没有复杂的数字支持,这是没有定义的。

types.StringType

字符串的类型(例如'Spam'); 内置的别名str

types.UnicodeType

Unicode字符串的类型(例如u'Spam')。如果Python没有支持Unicode,这是没有定义的。这是内置的别名unicode

types.TupleType

元组的类型(例如(1, 2, 3, 'Spam')); 内置的别名tuple

types.ListType

列表类型(例如[0, 1, 2, 3]); 内置的别名list

types.DictType

字典的类型(例如{'Bacon': 1, 'Ham': 0}); 内置的别名dict

types.DictionaryType

另一个名字DictType

types.FunctionTypetypes.LambdaType

lambda表达式创建的用户定义函数和函数的类型。

types.GeneratorType

通过调用生成器函数生成的生成器 - 生成器对象的类型。

2.2版本中的新功能。

types.CodeType

代码对象的类型,如返回的compile()

types.ClassType

用户定义的旧式类的类型。

types.InstanceType

用户定义的旧式类的实例的类型。

types.MethodType

用户定义的类实例的方法的类型。

types.UnboundMethodType

另一个名字MethodType

types.BuiltinFunctionTypetypes.BuiltinMethodType

所述类型的等内置函数len()sys.exit(),和内置类的方法。(这里,“内置”一词的意思是“用C写成”)。

types.ModuleType

模块的类型。

types.FileType

打开的文件对象的类型,如sys.stdout; 内置的别名file

types.XRangeType

返回的范围对象的类型xrange( 内置的别名xrange。

types.SliceType

返回的对象的类型slice( 内置的别名slice。

types.EllipsisType

类型Ellipsis

types.TracebackType

回溯对象的类型,如发现于sys.exc_traceback

types.FrameType

框架对象的类型(如在tb.tb_frameif中找到)tb是一个追溯对象。

types.BufferType

buffer()函数创建的缓冲区对象的类型。

types.DictProxyType

字典代理的类型,例如TypeType.__dict__

types.NotImplementedType

类型 NotImplemented

types.GetSetDescriptorType

扩展模块中定义的对象类型PyGetSetDef,例如FrameType.f_localsarray.array.typecode。该类型用作对象属性的描述符; 它具有与property类型相同的用途,但是用于扩展模块中定义的类。

2.5版本中的新功能。

types.MemberDescriptorType

扩展模块中定义的对象类型PyMemberDef,例如datetime.timedelta.days。该类型用作使用标准转换函数的简单C数据成员的描述符; 它具有与property类型相同的用途,但是用于扩展模块中定义的类。

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

2.5版本中的新功能。

types.StringTypes

包含StringTypeUnicodeType用于简化检查任何字符串对象的序列。与使用其他地方构造的两个字符串类型的序列相比,使用它更具可移植性,因为它只包含UnicodeType在Python的运行版本中。例如:isinstance(s, types.StringTypes)

2.2版本中的新功能。