[Python-checkins] r74615 - in python/branches/py3k: Doc/library/string.rst Doc/tutorial/inputoutput.rst
georg.brandl
python-checkins at python.org
Tue Sep 1 09:42:40 CEST 2009
Author: georg.brandl
Date: Tue Sep 1 09:42:40 2009
New Revision: 74615
Log:
Recorded merge of revisions 74614 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r74614 | georg.brandl | 2009-09-01 09:40:54 +0200 (Di, 01 Sep 2009) | 1 line
#6813: better documentation for numberless string formats.
........
Modified:
python/branches/py3k/ (props changed)
python/branches/py3k/Doc/library/string.rst
python/branches/py3k/Doc/tutorial/inputoutput.rst
Modified: python/branches/py3k/Doc/library/string.rst
==============================================================================
--- python/branches/py3k/Doc/library/string.rst (original)
+++ python/branches/py3k/Doc/library/string.rst Tue Sep 1 09:42:40 2009
@@ -194,7 +194,7 @@
The grammar for a replacement field is as follows:
.. productionlist:: sf
- replacement_field: "{" `field_name` ["!" `conversion`] [":" `format_spec`] "}"
+ replacement_field: "{" [`field_name`] ["!" `conversion`] [":" `format_spec`] "}"
field_name: arg_name ("." `attribute_name` | "[" `element_index` "]")*
arg_name: (`identifier` | `integer`)?
attribute_name: `identifier`
@@ -202,7 +202,7 @@
conversion: "r" | "s" | "a"
format_spec: <described in the next section>
-In less formal terms, the replacement field starts with a *field_name* that specifies
+In less formal terms, the replacement field can start with a *field_name* that specifies
the object whose value is to be formatted and inserted
into the output instead of the replacement field.
The *field_name* is optionally followed by a *conversion* field, which is
@@ -223,7 +223,7 @@
"First, thou shalt count to {0}" # References first positional argument
"Bring me a {}" # Implicitly references the first positional argument
- "From {} to {}" # Same as "From {0] to {1}"
+ "From {} to {}" # Same as "From {0} to {1}"
"My quest is {name}" # References keyword argument 'name'
"Weight in tons {0.weight}" # 'weight' attribute of first positional arg
"Units destroyed: {players[0]}" # First element of keyword argument 'players'.
@@ -243,6 +243,7 @@
"Harold's a clever {0!s}" # Calls str() on the argument first
"Bring out the holy {name!r}" # Calls repr() on the argument first
+ "More {!a}" # Calls ascii() on the argument first
The *format_spec* field contains a specification of how the value should be
presented, including such details as field width, alignment, padding, decimal
Modified: python/branches/py3k/Doc/tutorial/inputoutput.rst
==============================================================================
--- python/branches/py3k/Doc/tutorial/inputoutput.rst (original)
+++ python/branches/py3k/Doc/tutorial/inputoutput.rst Tue Sep 1 09:42:40 2009
@@ -126,12 +126,12 @@
Basic usage of the :meth:`str.format` method looks like this::
- >>> print('We are the {0} who say "{1}!"'.format('knights', 'Ni'))
+ >>> print('We are the {} who say "{}!"'.format('knights', 'Ni'))
We are the knights who say "Ni!"
The brackets and characters within them (called format fields) are replaced with
-the objects passed into the :meth:`~str.format` method. The number in the
-brackets refers to the position of the object passed into the
+the objects passed into the :meth:`~str.format` method. A number in the
+brackets can be used to refer to the position of the object passed into the
:meth:`~str.format` method. ::
>>> print('{0} and {1}'.format('spam', 'eggs'))
@@ -152,6 +152,15 @@
other='Georg'))
The story of Bill, Manfred, and Georg.
+``'!a'`` (apply :func:`ascii`), ``'!s'`` (apply :func:`str`) and ``'!r'``
+(apply :func:`repr`) can be used to convert the value before it is formatted::
+
+ >>> import math
+ >>> print('The value of PI is approximately {}.'.format(math.pi))
+ The value of PI is approximately 3.14159265359.
+ >>> print('The value of PI is approximately {!r}.'.format(math.pi))
+ The value of PI is approximately 3.141592653589793.
+
An optional ``':'`` and format specifier can follow the field name. This allows
greater control over how the value is formatted. The following example
truncates Pi to three places after the decimal.
More information about the Python-checkins
mailing list