mirror of
https://github.com/python/cpython.git
synced 2025-09-27 18:59:43 +00:00
[Bug #1464571] Mention that generator's .gi_frame can now be None
This commit is contained in:
parent
6fc6976507
commit
3b4fb041df
1 changed files with 12 additions and 2 deletions
|
@ -412,7 +412,7 @@ implementation by Thomas Lee.}
|
||||||
|
|
||||||
|
|
||||||
%======================================================================
|
%======================================================================
|
||||||
\section{PEP 342: New Generator Features}
|
\section{PEP 342: New Generator Features\label{section-generators}}
|
||||||
|
|
||||||
Python 2.5 adds a simple way to pass values \emph{into} a generator.
|
Python 2.5 adds a simple way to pass values \emph{into} a generator.
|
||||||
As introduced in Python 2.3, generators only produce output; once a
|
As introduced in Python 2.3, generators only produce output; once a
|
||||||
|
@ -541,7 +541,7 @@ figure out patterns for using coroutines effectively in Python.
|
||||||
The addition of the \method{close()} method has one side effect that
|
The addition of the \method{close()} method has one side effect that
|
||||||
isn't obvious. \method{close()} is called when a generator is
|
isn't obvious. \method{close()} is called when a generator is
|
||||||
garbage-collected, so this means the generator's code gets one last
|
garbage-collected, so this means the generator's code gets one last
|
||||||
chance to run before the generator is destroyed, and this last chance
|
chance to run before the generator is destroyed. This last chance
|
||||||
means that \code{try...finally} statements in generators can now be
|
means that \code{try...finally} statements in generators can now be
|
||||||
guaranteed to work; the \keyword{finally} clause will now always get a
|
guaranteed to work; the \keyword{finally} clause will now always get a
|
||||||
chance to run. The syntactic restriction that you couldn't mix
|
chance to run. The syntactic restriction that you couldn't mix
|
||||||
|
@ -552,6 +552,11 @@ necessary in order to implement the \keyword{with} statement
|
||||||
described by PEP 343. We'll look at this new statement in the following
|
described by PEP 343. We'll look at this new statement in the following
|
||||||
section.
|
section.
|
||||||
|
|
||||||
|
Another even more esoteric effect of this change: previously, the
|
||||||
|
\member{gi_frame} attribute of a generator was always a frame object.
|
||||||
|
It's now possible for \member{gi_frame} to be \code{None}
|
||||||
|
once the generator has been exhausted.
|
||||||
|
|
||||||
\begin{seealso}
|
\begin{seealso}
|
||||||
|
|
||||||
\seepep{342}{Coroutines via Enhanced Generators}{PEP written by
|
\seepep{342}{Coroutines via Enhanced Generators}{PEP written by
|
||||||
|
@ -1641,6 +1646,11 @@ this triggered a warning, not a syntax error.
|
||||||
|
|
||||||
\item The \module{pickle} module no longer uses the deprecated \var{bin} parameter.
|
\item The \module{pickle} module no longer uses the deprecated \var{bin} parameter.
|
||||||
|
|
||||||
|
\item Previously, the \member{gi_frame} attribute of a generator
|
||||||
|
was always a frame object. Because of the \pep{342} changes
|
||||||
|
described in section~\ref{section-generators}, it's now possible
|
||||||
|
for \member{gi_frame} to be \code{None}.
|
||||||
|
|
||||||
\item C API: Many functions now use \ctype{Py_ssize_t}
|
\item C API: Many functions now use \ctype{Py_ssize_t}
|
||||||
instead of \ctype{int} to allow processing more data
|
instead of \ctype{int} to allow processing more data
|
||||||
on 64-bit machines. Extension code may need to make
|
on 64-bit machines. Extension code may need to make
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue