diff options
author | Guido van Rossum <guido@python.org> | 1993-12-17 12:13:53 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1993-12-17 12:13:53 (GMT) |
commit | 3cbc16d9041fe1fa87356bdacc2f1ad52fb99a89 (patch) | |
tree | 75beb159dc2d0d9d19de7ea7352ae1afa48d8b17 | |
parent | 67a5fdbcc2d86cda9ee2efb7a97cb458036d6927 (diff) | |
download | cpython-3cbc16d9041fe1fa87356bdacc2f1ad52fb99a89.zip cpython-3cbc16d9041fe1fa87356bdacc2f1ad52fb99a89.tar.gz cpython-3cbc16d9041fe1fa87356bdacc2f1ad52fb99a89.tar.bz2 |
* 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.
-rw-r--r-- | Doc/Makefile | 5 | ||||
-rw-r--r-- | Doc/ref/ref5.tex | 16 | ||||
-rw-r--r-- | Doc/ref/ref7.tex | 4 | ||||
-rw-r--r-- | Doc/ref5.tex | 16 | ||||
-rw-r--r-- | Doc/ref7.tex | 4 | ||||
-rw-r--r-- | Doc/tut.tex | 2 | ||||
-rw-r--r-- | Doc/tut/tut.tex | 2 |
7 files changed, 43 insertions, 6 deletions
diff --git a/Doc/Makefile b/Doc/Makefile index f4a747d..d13f59f 100644 --- a/Doc/Makefile +++ b/Doc/Makefile @@ -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 diff --git a/Doc/ref/ref5.tex b/Doc/ref/ref5.tex index 59ba90a..55f523f 100644 --- a/Doc/ref/ref5.tex +++ b/Doc/ref/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} diff --git a/Doc/ref/ref7.tex b/Doc/ref/ref7.tex index 0f96c82..670eec0 100644 --- a/Doc/ref/ref7.tex +++ b/Doc/ref/ref7.tex @@ -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 diff --git a/Doc/ref5.tex b/Doc/ref5.tex index 59ba90a..55f523f 100644 --- a/Doc/ref5.tex +++ b/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} diff --git a/Doc/ref7.tex b/Doc/ref7.tex index 0f96c82..670eec0 100644 --- a/Doc/ref7.tex +++ b/Doc/ref7.tex @@ -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 diff --git a/Doc/tut.tex b/Doc/tut.tex index 6fb209f..5327488 100644 --- a/Doc/tut.tex +++ b/Doc/tut.tex @@ -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 diff --git a/Doc/tut/tut.tex b/Doc/tut/tut.tex index 6fb209f..5327488 100644 --- a/Doc/tut/tut.tex +++ b/Doc/tut/tut.tex @@ -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 |