* 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:
Guido van Rossum 1993-12-17 12:13:53 +00:00
parent 67a5fdbcc2
commit 3cbc16d904
7 changed files with 43 additions and 6 deletions

View File

@ -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

View File

@ -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}

View File

@ -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

View File

@ -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}

View File

@ -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

View File

@ -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

View File

@ -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