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
|
||||
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
|
||||
mv @lib.texi 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
|
||||
makeinfo +footnote-style end +fill-column 72 +paragraph-indent 0 \
|
||||
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:
|
||||
|
||||
\begin{verbatim}
|
||||
condition: or_test
|
||||
condition: or_test | lambda_form
|
||||
or_test: and_test | or_test "or" and_test
|
||||
and_test: not_test | and_test "and" not_test
|
||||
not_test: comparison | "not" not_test
|
||||
lambda_form: "lambda" [parameter_list]: condition
|
||||
\end{verbatim}
|
||||
|
||||
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\,
|
||||
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}
|
||||
\indexii{expression}{list}
|
||||
\indexii{condition}{list}
|
||||
|
|
|
@ -292,6 +292,10 @@ parameters) are bound to the (formal) parameters, as follows:
|
|||
\indexii{parameter}{formal}
|
||||
\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}
|
||||
|
||||
\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:
|
||||
|
||||
\begin{verbatim}
|
||||
condition: or_test
|
||||
condition: or_test | lambda_form
|
||||
or_test: and_test | or_test "or" and_test
|
||||
and_test: not_test | and_test "and" not_test
|
||||
not_test: comparison | "not" not_test
|
||||
lambda_form: "lambda" [parameter_list]: condition
|
||||
\end{verbatim}
|
||||
|
||||
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\,
|
||||
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}
|
||||
\indexii{expression}{list}
|
||||
\indexii{condition}{list}
|
||||
|
|
|
@ -292,6 +292,10 @@ parameters) are bound to the (formal) parameters, as follows:
|
|||
\indexii{parameter}{formal}
|
||||
\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}
|
||||
|
||||
\item
|
||||
|
|
|
@ -1760,7 +1760,7 @@ however, and result in error messages as shown here:
|
|||
|
||||
\bcode\small\begin{verbatim}
|
||||
>>> 10 * (1/0)
|
||||
Stack backtrace (innermost last):
|
||||
Traceback (innermost last):
|
||||
File "<stdin>", line 1
|
||||
ZeroDivisionError: integer division or modulo
|
||||
>>> 4 + foo*3
|
||||
|
|
|
@ -1760,7 +1760,7 @@ however, and result in error messages as shown here:
|
|||
|
||||
\bcode\small\begin{verbatim}
|
||||
>>> 10 * (1/0)
|
||||
Stack backtrace (innermost last):
|
||||
Traceback (innermost last):
|
||||
File "<stdin>", line 1
|
||||
ZeroDivisionError: integer division or modulo
|
||||
>>> 4 + foo*3
|
||||
|
|
Loading…
Reference in New Issue