# [Python-checkins] CVS: python/dist/src/Doc/tut tut.tex,1.148,1.149

Fred L. Drake fdrake@users.sourceforge.net
Thu, 06 Sep 2001 11:41:17 -0700

Update of /cvsroot/python/python/dist/src/Doc/tut
In directory usw-pr-cvs1:/tmp/cvs-serv30317/tut

Modified Files:
tut.tex
Log Message:
Clarified the interaction between string literals and continuation lines.
Fixes bug reported as SF bug #453728.

Index: tut.tex
===================================================================
RCS file: /cvsroot/python/python/dist/src/Doc/tut/tut.tex,v
retrieving revision 1.148
retrieving revision 1.149
diff -C2 -d -r1.148 -r1.149
*** tut.tex	2001/09/06 18:21:30	1.148
--- tut.tex	2001/09/06 18:41:15	1.149
***************
*** 527,532 ****
\end{verbatim}

! String literals can span multiple lines in several ways.  Newlines can
! be escaped with backslashes:

\begin{verbatim}
--- 527,533 ----
\end{verbatim}

! String literals can span multiple lines in several ways.  Continuation
! lines can be used, with a backslash as the last character on the line
! indicating that the next line is a logical continuation of the line:

\begin{verbatim}
***************
*** 534,542 ****
several lines of text just as you would do in C.\n\
Note that whitespace at the beginning of the line is\
!  significant.\n"
print hello
\end{verbatim}

! which would print the following:

\begin{verbatim}
--- 535,546 ----
several lines of text just as you would do in C.\n\
Note that whitespace at the beginning of the line is\
!  significant."
!
print hello
\end{verbatim}

! Note that newlines would still need to be embedded in the string using
! \code{\e n}; the newline following the trailing backslash is
! discarded.  This example would print the following:

\begin{verbatim}
***************
*** 546,551 ****
\end{verbatim}

Or, strings can be surrounded in a pair of matching triple-quotes:
! \code{"""} or \code {'''}.  End of lines do not need to be escaped
when using triple-quotes, but they will be included in the string.

--- 550,574 ----
\end{verbatim}

+ If we make the string literal a raw'' string, however, the
+ \code{\e n} sequences are not converted to newlines, but the backslash
+ at the end of the line, and the newline character in the source, are
+ both included in the string as data.  Thus, the example:
+
+ \begin{verbatim}
+ hello = r"This is a rather long string containing\n\
+ several lines of text much as you would do in C."
+
+ print hello
+ \end{verbatim}
+
+ would print:
+
+ \begin{verbatim}
+ This is a rather long string containing\n\
+ several lines of text much as you would do in C.
+ \end{verbatim}
+
Or, strings can be surrounded in a pair of matching triple-quotes:
! \code{"""} or \code{'\code{'}'}.  End of lines do not need to be escaped
when using triple-quotes, but they will be included in the string.