Issues #28916, #26483: Merge stdtypes.rst from 3.5

This commit is contained in:
Martin Panter 2016-12-11 02:31:32 +00:00
commit 0a7b8596c0
2 changed files with 20 additions and 38 deletions

View File

@ -1644,18 +1644,20 @@ expression support in the :mod:`re` module).
Return true if all characters in the string are decimal
characters and there is at least one character, false
otherwise. Decimal characters are those from general category "Nd". This category
includes digit characters, and all characters
that can be used to form decimal-radix numbers, e.g. U+0660,
ARABIC-INDIC DIGIT ZERO.
otherwise. Decimal characters are those that can be used to form
numbers in base 10, e.g. U+0660, ARABIC-INDIC DIGIT
ZERO. Formally a decimal character is a character in the Unicode
General Category "Nd".
.. method:: str.isdigit()
Return true if all characters in the string are digits and there is at least one
character, false otherwise. Digits include decimal characters and digits that need
special handling, such as the compatibility superscript digits. Formally, a digit
is a character that has the property value Numeric_Type=Digit or Numeric_Type=Decimal.
special handling, such as the compatibility superscript digits.
This covers digits which cannot be used to form numbers in base 10,
like the Kharosthi numbers. Formally, a digit is a character that has the
property value Numeric_Type=Digit or Numeric_Type=Decimal.
.. method:: str.isidentifier()
@ -2199,15 +2201,12 @@ The conversion types are:
Notes:
(1)
The alternate form causes a leading zero (``'0'``) to be inserted between
left-hand padding and the formatting of the number if the leading character
of the result is not already a zero.
The alternate form causes a leading octal specifier (``'0o'``) to be
inserted before the first digit.
(2)
The alternate form causes a leading ``'0x'`` or ``'0X'`` (depending on whether
the ``'x'`` or ``'X'`` format was used) to be inserted between left-hand padding
and the formatting of the number if the leading character of the result is not
already a zero.
the ``'x'`` or ``'X'`` format was used) to be inserted before the first digit.
(3)
The alternate form causes the result to always contain a decimal point, even if
@ -3303,15 +3302,12 @@ The conversion types are:
Notes:
(1)
The alternate form causes a leading zero (``'0'``) to be inserted between
left-hand padding and the formatting of the number if the leading character
of the result is not already a zero.
The alternate form causes a leading octal specifier (``'0o'``) to be
inserted before the first digit.
(2)
The alternate form causes a leading ``'0x'`` or ``'0X'`` (depending on whether
the ``'x'`` or ``'X'`` format was used) to be inserted between left-hand padding
and the formatting of the number if the leading character of the result is not
already a zero.
the ``'x'`` or ``'X'`` format was used) to be inserted before the first digit.
(3)
The alternate form causes the result to always contain a decimal point, even if

View File

@ -200,42 +200,28 @@ class FormatTest(unittest.TestCase):
testcommon("%#+37.34o", big, "+0o0012345670123456701234567012345670")
# next one gets one leading zero from precision
testcommon("%.33o", big, "012345670123456701234567012345670")
# base marker shouldn't change that, since "0" is redundant
# base marker added in spite of leading zero (different to Python 2)
testcommon("%#.33o", big, "0o012345670123456701234567012345670")
# but reduce precision, and base marker should add a zero
# reduce precision, and base marker is always added
testcommon("%#.32o", big, "0o12345670123456701234567012345670")
# one leading zero from precision, and another from "0" flag & width
testcommon("%034.33o", big, "0012345670123456701234567012345670")
# base marker shouldn't change that
testcommon("%0#34.33o", big, "0o012345670123456701234567012345670")
# one leading zero from precision, plus two from "0" flag & width
testcommon("%035.33o", big, "00012345670123456701234567012345670")
# base marker shouldn't change the size
testcommon("%0#35.33o", big, "0o012345670123456701234567012345670")
# Some small ints, in both Python int and flavors).
testcommon("%d", 42, "42")
testcommon("%d", -42, "-42")
testcommon("%d", 42, "42")
testcommon("%d", -42, "-42")
testcommon("%d", 42.0, "42")
testcommon("%#x", 1, "0x1")
testcommon("%#x", 1, "0x1")
testcommon("%#X", 1, "0X1")
testcommon("%#X", 1, "0X1")
testcommon("%#o", 1, "0o1")
testcommon("%#o", 1, "0o1")
testcommon("%#o", 0, "0o0")
testcommon("%#o", 0, "0o0")
testcommon("%o", 0, "0")
testcommon("%o", 0, "0")
testcommon("%d", 0, "0")
testcommon("%d", 0, "0")
testcommon("%#x", 0, "0x0")
testcommon("%#x", 0, "0x0")
testcommon("%#X", 0, "0X0")
testcommon("%#X", 0, "0X0")
testcommon("%x", 0x42, "42")
testcommon("%x", -0x42, "-42")
testcommon("%x", 0x42, "42")
testcommon("%x", -0x42, "-42")
testcommon("%o", 0o42, "42")
testcommon("%o", -0o42, "-42")
testcommon("%o", 0o42, "42")
testcommon("%o", -0o42, "-42")
# alternate float formatting