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.
This commit is contained in:
parent
fa78d0fbe4
commit
6016dbecca
|
@ -2638,11 +2638,34 @@ string to be applied to the right argument, and returns the string
|
||||||
resulting from this formatting operation.
|
resulting from this formatting operation.
|
||||||
|
|
||||||
One question remains, of course: how do you convert values to strings?
|
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
|
Luckily, Python has ways to convert any value to a string: pass it to
|
||||||
the \function{repr()} function, or just write the value between
|
the \function{repr()} or \function{str()} functions, or just write
|
||||||
reverse quotes (\code{``}). Some examples:
|
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}
|
\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
|
>>> x = 10 * 3.25
|
||||||
>>> y = 200 * 200
|
>>> y = 200 * 200
|
||||||
>>> s = 'The value of x is ' + `x` + ', and y is ' + `y` + '...'
|
>>> s = 'The value of x is ' + `x` + ', and y is ' + `y` + '...'
|
||||||
|
|
Loading…
Reference in New Issue