blob: e345d932341931d2d46b64c5adbb2de1790df5e3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<span id="gen-objects"></span><h1>Generator Objects</h1> <p>Generator objects are what Python uses to implement generator iterators. They are normally created by iterating over a function that yields values, rather than explicitly calling <a class="reference internal" href="#c.PyGen_New" title="PyGen_New"><code>PyGen_New()</code></a> or <a class="reference internal" href="#c.PyGen_NewWithQualName" title="PyGen_NewWithQualName"><code>PyGen_NewWithQualName()</code></a>.</p> <dl class="c type"> <dt class="sig sig-object c" id="c.PyGenObject">
<code>type PyGenObject</code> </dt> <dd>
<p>The C structure used for generator objects.</p> </dd>
</dl> <dl class="c var"> <dt class="sig sig-object c" id="c.PyGen_Type">
<code>PyTypeObject PyGen_Type</code> </dt> <dd>
<p>The type object corresponding to generator objects.</p> </dd>
</dl> <dl class="c function"> <dt class="sig sig-object c" id="c.PyGen_Check">
<code>int PyGen_Check(PyObject *ob)</code> </dt> <dd>
<p>Return true if <em>ob</em> is a generator object; <em>ob</em> must not be <code>NULL</code>. This function always succeeds.</p> </dd>
</dl> <dl class="c function"> <dt class="sig sig-object c" id="c.PyGen_CheckExact">
<code>int PyGen_CheckExact(PyObject *ob)</code> </dt> <dd>
<p>Return true if <em>ob</em>’s type is <a class="reference internal" href="#c.PyGen_Type" title="PyGen_Type"><code>PyGen_Type</code></a>; <em>ob</em> must not be <code>NULL</code>. This function always succeeds.</p> </dd>
</dl> <dl class="c function"> <dt class="sig sig-object c" id="c.PyGen_New">
<code>PyObject *PyGen_New(PyFrameObject *frame)</code> </dt> <dd>
<em class="refcount">Return value: New reference.</em><p>Create and return a new generator object based on the <em>frame</em> object. A reference to <em>frame</em> is stolen by this function. The argument must not be <code>NULL</code>.</p> </dd>
</dl> <dl class="c function"> <dt class="sig sig-object c" id="c.PyGen_NewWithQualName">
<code>PyObject *PyGen_NewWithQualName(PyFrameObject *frame, PyObject *name, PyObject *qualname)</code> </dt> <dd>
<em class="refcount">Return value: New reference.</em><p>Create and return a new generator object based on the <em>frame</em> object, with <code>__name__</code> and <code>__qualname__</code> set to <em>name</em> and <em>qualname</em>. A reference to <em>frame</em> is stolen by this function. The <em>frame</em> argument must not be <code>NULL</code>.</p> </dd>
</dl> <div class="_attribution">
<p class="_attribution-p">
© 2001–2023 Python Software Foundation<br>Licensed under the PSF License.<br>
<a href="https://docs.python.org/3.12/c-api/gen.html" class="_attribution-link">https://docs.python.org/3.12/c-api/gen.html</a>
</p>
</div>
|