mirror of https://github.com/python/cpython
* lib2.tex (sys): updated sys.std{in,out,err} docs. Added
sys.tracebacklimit. * tut.tex (Exceptions): change text printed by traceback. * lib5.tex (audioop): added minmax. * lib5.tex (audioop.getsample): move wandered paragraph back * lib3.tex, partparse.py: undo mucking with \nopagebreak (didn't work). * partparse.py: ignore \nopagebreak command * ref5.tex: added description of lambda forms. * ref7.tex: added reference to lambda forms to section on function definition. * lib1.tex: removed lambda as built-in function (it is now a special form). Also removed feature of filter, map, reduce to turn a string argument into an anonymous function.
This commit is contained in:
parent
67a5fdbcc2
commit
3cbc16d904
|
@ -41,13 +41,14 @@ qua:
|
||||||
latex qua
|
latex qua
|
||||||
dvips qua >qua.ps
|
dvips qua >qua.ps
|
||||||
|
|
||||||
lib.texi: lib1.tex lib2.tex lib3.tex lib4.tex lib5.tex texipre.dat texipost.dat
|
lib.texi: lib1.tex lib2.tex lib3.tex lib4.tex lib5.tex \
|
||||||
|
texipre.dat texipost.dat partparse.py
|
||||||
python partparse.py -o @lib.texi lib[1-5].tex
|
python partparse.py -o @lib.texi lib[1-5].tex
|
||||||
mv @lib.texi lib.texi
|
mv @lib.texi lib.texi
|
||||||
|
|
||||||
.PRECIOUS: lib.texi
|
.PRECIOUS: lib.texi
|
||||||
|
|
||||||
python-lib.info: lib.texi
|
python-lib.info: lib.texi fix.el
|
||||||
emacs -batch -l fix.el -f save-buffer -kill
|
emacs -batch -l fix.el -f save-buffer -kill
|
||||||
makeinfo +footnote-style end +fill-column 72 +paragraph-indent 0 \
|
makeinfo +footnote-style end +fill-column 72 +paragraph-indent 0 \
|
||||||
lib.texi
|
lib.texi
|
||||||
|
|
|
@ -604,10 +604,11 @@ object. $x ~\verb\is not\~ y$ yields the inverse truth value.
|
||||||
Boolean operations have the lowest priority of all Python operations:
|
Boolean operations have the lowest priority of all Python operations:
|
||||||
|
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
condition: or_test
|
condition: or_test | lambda_form
|
||||||
or_test: and_test | or_test "or" and_test
|
or_test: and_test | or_test "or" and_test
|
||||||
and_test: not_test | and_test "and" not_test
|
and_test: not_test | and_test "and" not_test
|
||||||
not_test: comparison | "not" not_test
|
not_test: comparison | "not" not_test
|
||||||
|
lambda_form: "lambda" [parameter_list]: condition
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
In the context of Boolean operations, and also when conditions are
|
In the context of Boolean operations, and also when conditions are
|
||||||
|
@ -638,6 +639,19 @@ invent a value anyway, it does not bother to return a value of the
|
||||||
same type as its argument, so e.g. \verb\not 'foo'\ yields \verb\0\,
|
same type as its argument, so e.g. \verb\not 'foo'\ yields \verb\0\,
|
||||||
not \verb\''\.)
|
not \verb\''\.)
|
||||||
|
|
||||||
|
Lambda forms (lambda expressions) have the same syntactic position as
|
||||||
|
conditions. They are a shorthand to create anonymous functions; the
|
||||||
|
expression \verb\lambda\ {\em arguments}\verb\:\ {\em condition}
|
||||||
|
yields a function object that behaves virtually identical to one
|
||||||
|
defined with \verb\def\ {\em name}\verb\(\{\em arguments}\verb\) :
|
||||||
|
return\ {\em condition}. See section \ref{function} for the syntax of
|
||||||
|
parameter lists. Note that functions created with lambda forms cannot
|
||||||
|
contain statements.
|
||||||
|
\label{lambda}
|
||||||
|
\indexii{lambda}{expression}
|
||||||
|
\indexii{lambda}{form}
|
||||||
|
\indexii{anonmymous}{function}
|
||||||
|
|
||||||
\section{Expression lists and condition lists}
|
\section{Expression lists and condition lists}
|
||||||
\indexii{expression}{list}
|
\indexii{expression}{list}
|
||||||
\indexii{condition}{list}
|
\indexii{condition}{list}
|
||||||
|
|
|
@ -292,6 +292,10 @@ parameters) are bound to the (formal) parameters, as follows:
|
||||||
\indexii{parameter}{formal}
|
\indexii{parameter}{formal}
|
||||||
\indexii{parameter}{actual}
|
\indexii{parameter}{actual}
|
||||||
|
|
||||||
|
It is also possible to create anonymous functions (functions not bound
|
||||||
|
to a name), for immediate use in expressions. This uses lambda forms,
|
||||||
|
described in section \ref{lambda}.
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
|
|
||||||
\item
|
\item
|
||||||
|
|
16
Doc/ref5.tex
16
Doc/ref5.tex
|
@ -604,10 +604,11 @@ object. $x ~\verb\is not\~ y$ yields the inverse truth value.
|
||||||
Boolean operations have the lowest priority of all Python operations:
|
Boolean operations have the lowest priority of all Python operations:
|
||||||
|
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
condition: or_test
|
condition: or_test | lambda_form
|
||||||
or_test: and_test | or_test "or" and_test
|
or_test: and_test | or_test "or" and_test
|
||||||
and_test: not_test | and_test "and" not_test
|
and_test: not_test | and_test "and" not_test
|
||||||
not_test: comparison | "not" not_test
|
not_test: comparison | "not" not_test
|
||||||
|
lambda_form: "lambda" [parameter_list]: condition
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
In the context of Boolean operations, and also when conditions are
|
In the context of Boolean operations, and also when conditions are
|
||||||
|
@ -638,6 +639,19 @@ invent a value anyway, it does not bother to return a value of the
|
||||||
same type as its argument, so e.g. \verb\not 'foo'\ yields \verb\0\,
|
same type as its argument, so e.g. \verb\not 'foo'\ yields \verb\0\,
|
||||||
not \verb\''\.)
|
not \verb\''\.)
|
||||||
|
|
||||||
|
Lambda forms (lambda expressions) have the same syntactic position as
|
||||||
|
conditions. They are a shorthand to create anonymous functions; the
|
||||||
|
expression \verb\lambda\ {\em arguments}\verb\:\ {\em condition}
|
||||||
|
yields a function object that behaves virtually identical to one
|
||||||
|
defined with \verb\def\ {\em name}\verb\(\{\em arguments}\verb\) :
|
||||||
|
return\ {\em condition}. See section \ref{function} for the syntax of
|
||||||
|
parameter lists. Note that functions created with lambda forms cannot
|
||||||
|
contain statements.
|
||||||
|
\label{lambda}
|
||||||
|
\indexii{lambda}{expression}
|
||||||
|
\indexii{lambda}{form}
|
||||||
|
\indexii{anonmymous}{function}
|
||||||
|
|
||||||
\section{Expression lists and condition lists}
|
\section{Expression lists and condition lists}
|
||||||
\indexii{expression}{list}
|
\indexii{expression}{list}
|
||||||
\indexii{condition}{list}
|
\indexii{condition}{list}
|
||||||
|
|
|
@ -292,6 +292,10 @@ parameters) are bound to the (formal) parameters, as follows:
|
||||||
\indexii{parameter}{formal}
|
\indexii{parameter}{formal}
|
||||||
\indexii{parameter}{actual}
|
\indexii{parameter}{actual}
|
||||||
|
|
||||||
|
It is also possible to create anonymous functions (functions not bound
|
||||||
|
to a name), for immediate use in expressions. This uses lambda forms,
|
||||||
|
described in section \ref{lambda}.
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
|
|
||||||
\item
|
\item
|
||||||
|
|
|
@ -1760,7 +1760,7 @@ however, and result in error messages as shown here:
|
||||||
|
|
||||||
\bcode\small\begin{verbatim}
|
\bcode\small\begin{verbatim}
|
||||||
>>> 10 * (1/0)
|
>>> 10 * (1/0)
|
||||||
Stack backtrace (innermost last):
|
Traceback (innermost last):
|
||||||
File "<stdin>", line 1
|
File "<stdin>", line 1
|
||||||
ZeroDivisionError: integer division or modulo
|
ZeroDivisionError: integer division or modulo
|
||||||
>>> 4 + foo*3
|
>>> 4 + foo*3
|
||||||
|
|
|
@ -1760,7 +1760,7 @@ however, and result in error messages as shown here:
|
||||||
|
|
||||||
\bcode\small\begin{verbatim}
|
\bcode\small\begin{verbatim}
|
||||||
>>> 10 * (1/0)
|
>>> 10 * (1/0)
|
||||||
Stack backtrace (innermost last):
|
Traceback (innermost last):
|
||||||
File "<stdin>", line 1
|
File "<stdin>", line 1
|
||||||
ZeroDivisionError: integer division or modulo
|
ZeroDivisionError: integer division or modulo
|
||||||
>>> 4 + foo*3
|
>>> 4 + foo*3
|
||||||
|
|
Loading…
Reference in New Issue