Cell Objects

“单元”对象用于实现多个作用域引用的变量。对于每个这样的变量,将创建一个单元格对象来存储值。引用该值的每个堆栈框架的局部变量都包含对也使用该变量的外部作用域单元的引用。访问该值时,将使用单元格中包含的值,而不是单元格对象本身。取消对单元对象的引用需要生成的字节码的支持。这些在访问时不会自动取消引用。单元对象在其他地方不太可能有用。

  • PyCellObject

    • 用于单元格对象的 C 结构。
  • PyTypeObject PyCell_Type

    • 对应于单元格对象的类型对象。
  • int PyCell_Check(ob)

    • 如果* ob *是单元格对象,则返回 true;否则,返回 true。 * ob 不能为 NULL *。
  • PyObject * PyCell_New(PyObject ** ob *)

    • 返回值:新参考.

创建并返回一个包含值* ob 的新单元格对象。参数可以是 NULL *。

返回单元格* cell *的内容。

返回单元格* cell 的内容,但不检查 cell 是否为非 NULL *和单元格对象。

  • int PyCell_Set(PyObject *cell PyObject value *)

    • 将单元格对象* cell 的内容设置为 value 。这将释放对单元格任何当前内容的引用。 可能是 NULL *。 * cell 必须为非 NULL *;如果它不是单元格对象,则返回-1。成功后,将返回0
  • 无效PyCell_SET(PyObject *cell PyObject value *)

    • 将单元格对象* cell 的值设置为 value *。没有调整参考计数,也没有进行安全检查; * cell 必须为非 NULL *,并且必须为单元格对象。