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 Return true if all characters in the string are decimal
characters and there is at least one character, false characters and there is at least one character, false
otherwise. Decimal characters are those from general category "Nd". This category otherwise. Decimal characters are those that can be used to form
includes digit characters, and all characters numbers in base 10, e.g. U+0660, ARABIC-INDIC DIGIT
that can be used to form decimal-radix numbers, e.g. U+0660, ZERO. Formally a decimal character is a character in the Unicode
ARABIC-INDIC DIGIT ZERO. General Category "Nd".
.. method:: str.isdigit() .. method:: str.isdigit()
Return true if all characters in the string are digits and there is at least one 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 character, false otherwise. Digits include decimal characters and digits that need
special handling, such as the compatibility superscript digits. Formally, a digit special handling, such as the compatibility superscript digits.
is a character that has the property value Numeric_Type=Digit or Numeric_Type=Decimal. 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() .. method:: str.isidentifier()
@ -2199,15 +2201,12 @@ The conversion types are:
Notes: Notes:
(1) (1)
The alternate form causes a leading zero (``'0'``) to be inserted between The alternate form causes a leading octal specifier (``'0o'``) to be
left-hand padding and the formatting of the number if the leading character inserted before the first digit.
of the result is not already a zero.
(2) (2)
The alternate form causes a leading ``'0x'`` or ``'0X'`` (depending on whether 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 the ``'x'`` or ``'X'`` format was used) to be inserted before the first digit.
and the formatting of the number if the leading character of the result is not
already a zero.
(3) (3)
The alternate form causes the result to always contain a decimal point, even if The alternate form causes the result to always contain a decimal point, even if
@ -3303,15 +3302,12 @@ The conversion types are:
Notes: Notes:
(1) (1)
The alternate form causes a leading zero (``'0'``) to be inserted between The alternate form causes a leading octal specifier (``'0o'``) to be
left-hand padding and the formatting of the number if the leading character inserted before the first digit.
of the result is not already a zero.
(2) (2)
The alternate form causes a leading ``'0x'`` or ``'0X'`` (depending on whether 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 the ``'x'`` or ``'X'`` format was used) to be inserted before the first digit.
and the formatting of the number if the leading character of the result is not
already a zero.
(3) (3)
The alternate form causes the result to always contain a decimal point, even if 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") testcommon("%#+37.34o", big, "+0o0012345670123456701234567012345670")
# next one gets one leading zero from precision # next one gets one leading zero from precision
testcommon("%.33o", big, "012345670123456701234567012345670") 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") 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") testcommon("%#.32o", big, "0o12345670123456701234567012345670")
# one leading zero from precision, and another from "0" flag & width # one leading zero from precision, plus two from "0" flag & width
testcommon("%034.33o", big, "0012345670123456701234567012345670") testcommon("%035.33o", big, "00012345670123456701234567012345670")
# base marker shouldn't change that # base marker shouldn't change the size
testcommon("%0#34.33o", big, "0o012345670123456701234567012345670") testcommon("%0#35.33o", big, "0o012345670123456701234567012345670")
# Some small ints, in both Python int and flavors). # 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, "42")
testcommon("%d", -42, "-42")
testcommon("%d", 42.0, "42") testcommon("%d", 42.0, "42")
testcommon("%#x", 1, "0x1") testcommon("%#x", 1, "0x1")
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", 1, "0o1")
testcommon("%#o", 0, "0o0")
testcommon("%#o", 0, "0o0") testcommon("%#o", 0, "0o0")
testcommon("%o", 0, "0") testcommon("%o", 0, "0")
testcommon("%o", 0, "0")
testcommon("%d", 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", 0, "0X0") testcommon("%#X", 0, "0X0")
testcommon("%x", 0x42, "42") testcommon("%x", 0x42, "42")
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")
testcommon("%o", -0o42, "-42") testcommon("%o", -0o42, "-42")
# alternate float formatting # alternate float formatting