[Python-checkins] cpython (2.7): #12204: document that str.upper().isupper() might be False and add a note about

ezio.melotti python-checkins at python.org
Mon Aug 15 13:29:02 CEST 2011


http://hg.python.org/cpython/rev/fb49394f75ed
changeset:   71871:fb49394f75ed
branch:      2.7
parent:      71869:d3816fa1bcdf
user:        Ezio Melotti <ezio.melotti at gmail.com>
date:        Mon Aug 15 14:24:15 2011 +0300
summary:
  #12204: document that str.upper().isupper() might be False and add a note about cased characters.

files:
  Doc/library/stdtypes.rst |  33 ++++++++++++++++-----------
  1 files changed, 20 insertions(+), 13 deletions(-)


diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -63,7 +63,7 @@
 
 * instances of user-defined classes, if the class defines a :meth:`__nonzero__`
   or :meth:`__len__` method, when that method returns the integer zero or
-  :class:`bool` value ``False``. [#]_
+  :class:`bool` value ``False``. [1]_
 
 .. index:: single: true
 
@@ -277,7 +277,7 @@
 operands of different numeric types, the operand with the "narrower" type is
 widened to that of the other, where plain integer is narrower than long integer
 is narrower than floating point is narrower than complex. Comparisons between
-numbers of mixed type use the same rule. [#]_ The constructors :func:`int`,
+numbers of mixed type use the same rule. [2]_ The constructors :func:`int`,
 :func:`long`, :func:`float`, and :func:`complex` can be used to produce numbers
 of a specific type.
 
@@ -709,7 +709,7 @@
 Most sequence types support the following operations.  The ``in`` and ``not in``
 operations have the same priorities as the comparison operations.  The ``+`` and
 ``*`` operations have the same priority as the corresponding numeric operations.
-[#]_ Additional methods are provided for :ref:`typesseq-mutable`.
+[3]_ Additional methods are provided for :ref:`typesseq-mutable`.
 
 This table lists the sequence operations sorted in ascending priority
 (operations in the same box have the same priority).  In the table, *s* and *t*
@@ -1007,7 +1007,7 @@
 
 .. method:: str.islower()
 
-   Return true if all cased characters in the string are lowercase and there is at
+   Return true if all cased characters [4]_ in the string are lowercase and there is at
    least one cased character, false otherwise.
 
    For 8-bit strings, this method is locale-dependent.
@@ -1032,7 +1032,7 @@
 
 .. method:: str.isupper()
 
-   Return true if all cased characters in the string are uppercase and there is at
+   Return true if all cased characters [4]_ in the string are uppercase and there is at
    least one cased character, false otherwise.
 
    For 8-bit strings, this method is locale-dependent.
@@ -1057,7 +1057,8 @@
 
 .. method:: str.lower()
 
-   Return a copy of the string converted to lowercase.
+   Return a copy of the string with all the cased characters [4]_ converted to
+   lowercase.
 
    For 8-bit strings, this method is locale-dependent.
 
@@ -1280,7 +1281,10 @@
 
 .. method:: str.upper()
 
-   Return a copy of the string converted to uppercase.
+   Return a copy of the string with all the cased characters [4]_ converted to
+   uppercase.  Note that ``str.upper().isupper()`` might be ``False`` if ``s``
+   contains uncased characters or if the Unicode category of the resulting
+   character(s) is not "Lu" (Letter, uppercase), but e.g. "Lt" (Letter, titlecase).
 
    For 8-bit strings, this method is locale-dependent.
 
@@ -1336,7 +1340,7 @@
 the result will also be a Unicode object.
 
 If *format* requires a single argument, *values* may be a single non-tuple
-object. [#]_  Otherwise, *values* must be a tuple with exactly the number of
+object. [5]_  Otherwise, *values* must be a tuple with exactly the number of
 items specified by the format string, or a single mapping object (for example, a
 dictionary).
 
@@ -3044,15 +3048,18 @@
 
 .. rubric:: Footnotes
 
-.. [#] Additional information on these special methods may be found in the Python
+.. [1] Additional information on these special methods may be found in the Python
    Reference Manual (:ref:`customization`).
 
-.. [#] As a consequence, the list ``[1, 2]`` is considered equal to ``[1.0, 2.0]``, and
+.. [2] As a consequence, the list ``[1, 2]`` is considered equal to ``[1.0, 2.0]``, and
    similarly for tuples.
 
-.. [#] They must have since the parser can't tell the type of the operands.
-
-.. [#] To format only a tuple you should therefore provide a singleton tuple whose only
+.. [3] They must have since the parser can't tell the type of the operands.
+
+.. [4] Cased characters are those with general category property being one of
+   "Lu" (Letter, uppercase), "Ll" (Letter, lowercase), or "Lt" (Letter, titlecase).
+
+.. [5] To format only a tuple you should therefore provide a singleton tuple whose only
    element is the tuple to be formatted.
 
 .. [#] The advantage of leaving the newline on is that returning an empty string is

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list