[Python-checkins] CVS: python/dist/src/Doc/tut tut.tex,1.154,1.155

Fred L. Drake fdrake@users.sourceforge.net
Tue, 04 Dec 2001 11:20:45 -0800


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

Modified Files:
	tut.tex 
Log Message:
Talk about str() in the discussion of string representations of values, and
give examples for which str() and repr() yield different results.
This closes SF bug #485446.


Index: tut.tex
===================================================================
RCS file: /cvsroot/python/python/dist/src/Doc/tut/tut.tex,v
retrieving revision 1.154
retrieving revision 1.155
diff -C2 -d -r1.154 -r1.155
*** tut.tex	2001/12/03 21:47:37	1.154
--- tut.tex	2001/12/04 19:20:43	1.155
***************
*** 2639,2647 ****
  
  One question remains, of course: how do you convert values to strings?
! Luckily, Python has a way to convert any value to a string: pass it to
! the \function{repr()} function, or just write the value between
! reverse quotes (\code{``}).  Some examples:
  
  \begin{verbatim}
  >>> x = 10 * 3.25
  >>> y = 200 * 200
--- 2639,2670 ----
  
  One question remains, of course: how do you convert values to strings?
! Luckily, Python has ways to convert any value to a string: pass it to
! the \function{repr()}  or \function{str()} functions, or just write
! the value between reverse quotes (\code{``}, equivalent to
! \function{repr()}).
  
+ The \function{str()} function is meant to return representations of
+ values which are fairly human-readable, while \function{repr()} is
+ meant to generate representations which can be read by the interpreter
+ (or will force a \exception{SyntaxError} if there is not equivalent
+ syntax).  For objects which don't have a particular representation for
+ human consumption, \function{str()} will return the same value as
+ \function{repr()}.  Many values, such as numbers or structures like
+ lists and dictionaries, have the same representation using either
+ function.  Strings and floating point numbers, in particular, have two
+ distinct representations.
+ 
+ Some examples:
+ 
  \begin{verbatim}
+ >>> s = 'Hello, world.'
+ >>> str(s)
+ 'Hello, world.'
+ >>> `s`
+ "'Hello, world.'"
+ >>> str(0.1)
+ '0.1'
+ >>> `0.1`
+ '0.10000000000000001'
  >>> x = 10 * 3.25
  >>> y = 200 * 200