弱引用对象 Python支持weak references作为第一类对象。有两种特定的对象类型直接实现弱引用。第一个是简单的参考对象,第二个作为原始对象的代理,尽可能地 // PyWeakref_Check( ob ) 如果ob是引用或代理对象,则返回true . int PyWeakref_CheckRef( ob ) 如果ob是参考对象,则返回true. int PyWeakref_CheckProxy( ob ) 如果ob是代理对象,则返回true。 PyObject* PyWeakref_NewRef( PyObject  *ob,PyObject *callback) Return

布尔对象 Python中的布尔值实现为整数的子类。只有两个布尔,Py_False和Py_True。因此,正常创建和删除功能不适用于布尔值。然而,下面的宏可用. int PyBool_Check( PyObject  *o) 如果o则返回true类型为PyBool_Type. PyObject * Py_False Python False对象。这个对象没有方法。它需要像引用计数一样对任何其他对象进行预处理. PyObject* Py_True Python True对象。这个对象没有方法。它需要被视为与引用计数相关的任何其他对象. Py_RETURN_FALSE 从函数返回Py_False,正

类型对象   PyTypeObject 用于描述内置类型的对象的C结构. PyObject* PyType_Type 这是类型对象的类型对象;它与Python层中的type是同一个对象. int PyType_Check( PyObject  *o) 如果对象o是一个类型对象,则返回true,包括从中派生的类型的实例标准类型对象。在所有其他情况下返回假. int PyType_CheckExact( PyObject  *o) 如果对象o是一个类型对象,但不是标准类型对象的子类型,则返回true。在所有其他情况下返回false . nsigned int PyType_ClearCa

迭代器协议 有两个专门用于处理迭代器的函数. int PyIter_Check( PyObject  *o) 如果对象o支持迭代器协议,则返回true。 PyObject* PyIter_Next( PyObject  *o) Return value: New reference. 从迭代o返回下一个值。该对象必须是一个迭代器(由调用者来检查它)。如果没有剩余值,则返回NULL,不设置任何异常。如果在检索项目时发生错误,则返回NULL并传递异常. 要编写一个遍历迭代器的循环,C代码应该看起来像这样: PyObject *iterator = PyObject_GetIter(obj); Py

keyword– 测试Python关键字 源代码: Lib / keyword.py 这个模块允许Python程序确定字符串是否是关键字. keyword.iskeyword(s) 如果s是Python关键字,则返回true。 keyword.kwlist 包含为解释器定义的所有关键字的序列。如果任何关键字被定义为仅在特定的__future__语句生效时才被激活,那么这些关键字也将被包括在内.

inspect– 检查实时对象 源代码: Lib / inspect.py inspect模块提供了几个有用的函数来帮助获取有关活动对象的信息,例如模块,类,方法,函数,回溯,框架对象和代码对象。例如,它可以帮助您检查类的内容,检索方法的源代码,提取和格式化函数的参数列表,或获取显示详细的traceback所需的所有信息. 有这个模块提供的四种主要服务:类型检查,获取源代码,检查类和函数,以及检查解释器堆栈. 类型和成员 getmembers()功能检索对象(如aclass或模块)的成员。名称以“是”开头的函数主要是为getmembers()的第二个参数提供方便的选择。它们还可以帮

dataclasses– 数据类 源代码: Lib / dataclasses.py 这个模块提供了一个装饰器和函数来自动添加生成的特殊方法如__init__()和__repr__()到用户定义的类。它最初是在PEP 557 . 在这些生成的方法中使用的成员变量是使用PEP 526 类型注释。例如这个代码: @dataclassclass InventoryItem: “””Class for keeping track of an item in inventory.””” name: str unit_price: float quantity_on_hand: int = 0

faulthandler– 转储Python回溯 版本3.3中的新功能. 该模块包含显式转发Python跟踪,故障,超时或用户信号转储的函数。调用faulthandler.enable()为SIGSEGV, SIGFPE,SIGABRT, SIGBUS和SIGILL信号安装故障处理程序。您也可以通过设置PYTHONFAULTHANDLER环境变量或使用-X faulthandler命令行选项来启动它们. 故障处理程序与Apport或Windows故障等系统故障处理程序兼容处理程序。如果sigaltstack()功能可用,模块使用替代堆栈作为信号处理程序。这允许它甚至在堆栈溢出时转储

test– Python的回归测试包 注意 testpackage仅供Python内部使用。它的文档是为了Python的核心开发人员的利益。不鼓励在Python的标准库之外使用这个包,因为这里提到的代码可以更改或删除,而不会在Python的发行版之间发送. test包包含Python的所有回归测试以及模块test.support和test.regrtest.test.support用来增强你的测试test.regrtest驱动测试套件. 中的每个模块test名称以test_开头的包是特定模块或功能的测试套件。所有新的测试都应该用unittest或doctest模块。一些较旧的测试使

shlex– 简单的词法分析 源代码: Lib / shlex.py shlex类可以很容易地编写类似于语法分析器的词法分析器Unix shell。这对于编写小语言(例如,在Pythonapplications的运行控制文件中)或解析引用的字符串通常很有用. shlex模块定义了以下函数: shlex.split(s, comments=False, posix=True) 使用类似shell的语法拆分字符串s。如果comments是False(默认值),将禁用给定字符串中的注释解析(将commenters实例的shlex属性设置为空字符串)。此函数默认在POSIX模式下运行,但如