- added many links into the library reference
- removed use of the string module
- fixed some broken markup
diff --git a/Doc/tut/tut.tex b/Doc/tut/tut.tex
index 50ba5e9..a3bb6ba 100644
--- a/Doc/tut/tut.tex
+++ b/Doc/tut/tut.tex
@@ -657,15 +657,14 @@
expressions:
\begin{verbatim}
->>> import string
>>> 'str' 'ing' # <- This is ok
'string'
->>> string.strip('str') + 'ing' # <- This is ok
+>>> 'str'.strip() + 'ing' # <- This is ok
'string'
->>> string.strip('str') 'ing' # <- This is invalid
+>>> 'str'.strip() 'ing' # <- This is invalid
File "<stdin>", line 1, in ?
- string.strip('str') 'ing'
- ^
+ 'str'.strip() 'ing'
+ ^
SyntaxError: invalid syntax
\end{verbatim}
@@ -807,6 +806,21 @@
\end{verbatim}
+\begin{seealso}
+ \seetitle[../lib/typesseq.html]{Sequence Types}%
+ {Strings, and the Unicode strings described in the next
+ section, are examples of \emph{sequence types}, and
+ support the common operations supported by such types.}
+ \seetitle[../lib/string-methods.html]{String Methods}%
+ {Both strings and Unicode strings support a large number of
+ methods for basic transformations and searching.}
+ \seetitle[../lib/typesseq-strings.html]{String Formatting Operations}%
+ {The formatting operations invoked when strings and Unicode
+ strings are the left operand of the \code{\%} operator are
+ described in more detail here.}
+\end{seealso}
+
+
\subsection{Unicode Strings \label{unicodeStrings}}
\sectionauthor{Marc-Andre Lemburg}{mal@lemburg.com}
@@ -1516,7 +1530,7 @@
\end{verbatim}
When a final formal parameter of the form \code{**\var{name}} is
-present, it receives a dictionary containing all keyword arguments
+present, it receives a \ulink{dictionary}{../lib/typesmapping.html} containing all keyword arguments
whose keyword doesn't correspond to a formal parameter. This may be
combined with a formal parameter of the form
\code{*\var{name}} (described in the next subsection) which receives a
@@ -1978,9 +1992,10 @@
We saw that lists and strings have many common properties, such as
indexing and slicing operations. They are two examples of
-\emph{sequence} data types. Since Python is an evolving language,
-other sequence data types may be added. There is also another
-standard sequence data type: the \emph{tuple}.
+\ulink{\emph{sequence} data types}{../lib/typesseq.html}. Since
+Python is an evolving language, other sequence data types may be
+added. There is also another standard sequence data type: the
+\emph{tuple}.
A tuple consists of a number of values separated by commas, for
instance:
@@ -2050,7 +2065,8 @@
\section{Dictionaries \label{dictionaries}}
-Another useful data type built into Python is the \emph{dictionary}.
+Another useful data type built into Python is the
+\ulink{\emph{dictionary}}{../lib/typesmapping.html}.
Dictionaries are sometimes found in other languages as ``associative
memories'' or ``associative arrays''. Unlike sequences, which are
indexed by a range of numbers, dictionaries are indexed by \emph{keys},
@@ -2078,11 +2094,11 @@
associated with that key is forgotten. It is an error to extract a
value using a non-existent key.
-The \code{keys()} method of a dictionary object returns a list of all
+The \method{keys()} method of a dictionary object returns a list of all
the keys used in the dictionary, in random order (if you want it
-sorted, just apply the \code{sort()} method to the list of keys). To
+sorted, just apply the \method{sort()} method to the list of keys). To
check whether a single key is in the dictionary, use the
-\code{has_key()} method of the dictionary.
+\method{has_key()} method of the dictionary.
Here is a small example using a dictionary:
@@ -2872,11 +2888,10 @@
Here are two ways to write a table of squares and cubes:
\begin{verbatim}
->>> import string
>>> for x in range(1, 11):
-... print string.rjust(repr(x), 2), string.rjust(repr(x*x), 3),
+... print repr(x).rjust(2), repr(x*x).rjust(3),
... # Note trailing comma on previous line
-... print string.rjust(repr(x*x*x), 4)
+... print repr(x*x*x).rjust(4)
...
1 1 1
2 4 8
@@ -2906,28 +2921,27 @@
(Note that one space between each column was added by the way
\keyword{print} works: it always adds spaces between its arguments.)
-This example demonstrates the function \function{string.rjust()},
+This example demonstrates the \method{rjust()} method of string objects,
which right-justifies a string in a field of a given width by padding
-it with spaces on the left. There are similar functions
-\function{string.ljust()} and \function{string.center()}. These
-functions do not write anything, they just return a new string. If
+it with spaces on the left. There are similar methods
+\method{ljust()} and \method{center()}. These
+methods do not write anything, they just return a new string. If
the input string is too long, they don't truncate it, but return it
unchanged; this will mess up your column lay-out but that's usually
better than the alternative, which would be lying about a value. (If
you really want truncation you can always add a slice operation, as in
-\samp{string.ljust(x,~n)[0:n]}.)
+\samp{x.ljust(~n)[:n]}.)
-There is another function, \function{string.zfill()}, which pads a
+There is another method, \method{zfill()}, which pads a
numeric string on the left with zeros. It understands about plus and
minus signs:
\begin{verbatim}
->>> import string
->>> string.zfill('12', 5)
+>>> '12'.zfill(5)
'00012'
->>> string.zfill('-3.14', 7)
+>>> '-3.14'.zfill(7)
'-003.14'
->>> string.zfill('3.14159265359', 5)
+>>> '3.14159265359'.zfill(5)
'3.14159265359'
\end{verbatim}
@@ -3110,7 +3124,7 @@
Strings can easily be written to and read from a file. Numbers take a
bit more effort, since the \method{read()} method only returns
strings, which will have to be passed to a function like
-\function{string.atoi()}, which takes a string like \code{'123'} and
+\function{int()}, which takes a string like \code{'123'} and
returns its numeric value 123. However, when you want to save more
complex data types like lists, dictionaries, or class instances,
things get a lot more complicated.
@@ -3297,12 +3311,12 @@
handle the exception as well):
\begin{verbatim}
-import string, sys
+import sys
try:
f = open('myfile.txt')
s = f.readline()
- i = int(string.strip(s))
+ i = int(s.strip())
except IOError, (errno, strerror):
print "I/O error(%s): %s" % (errno, strerror)
except ValueError:
@@ -4466,7 +4480,8 @@
\end{verbatim}
in your \file{\~{}/.inputrc}. (Of course, this makes it harder to
-type indented continuation lines.)
+type indented continuation lines if you're accustomed to using
+\kbd{Tab} for that purpose.)
Automatic completion of variable and module names is optionally
available. To enable it in the interpreter's interactive mode, add