summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMariatta <Mariatta@users.noreply.github.com>2017-07-25 18:04:08 (GMT)
committerGitHub <noreply@github.com>2017-07-25 18:04:08 (GMT)
commit59e6ab15e47d496ac4e5f9d53aac0fae0c708da4 (patch)
treee7726793afb85213a7e59f21fcd116c133596519
parentd8b5216f998bbb0f921815165f46918b86620ab7 (diff)
downloadcpython-59e6ab15e47d496ac4e5f9d53aac0fae0c708da4.zip
cpython-59e6ab15e47d496ac4e5f9d53aac0fae0c708da4.tar.gz
cpython-59e6ab15e47d496ac4e5f9d53aac0fae0c708da4.tar.bz2
bpo-26506: hex() documentation: mention %x % int (GH-2525) (GH-2870)
(cherry picked from commit 67ba4fa467ffff825d6a0c0a21cc54ff1df2ed1b)
-rw-r--r--Doc/library/functions.rst62
1 files changed, 52 insertions, 10 deletions
diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index 916e352..bd4c94f 100644
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -81,9 +81,24 @@ are always available. They are listed here in alphabetical order.
.. function:: bin(x)
- Convert an integer number to a binary string. The result is a valid Python
- expression. If *x* is not a Python :class:`int` object, it has to define an
- :meth:`__index__` method that returns an integer.
+ Convert an integer number to a binary string prefixed with "0b". The result
+ is a valid Python expression. If *x* is not a Python :class:`int` object, it
+ has to define an :meth:`__index__` method that returns an integer. Some
+ examples:
+
+ >>> bin(3)
+ '0b11'
+ >>> bin(-10)
+ '-0b1010'
+
+ If prefix "0b" is desired or not, you can use either of the following ways.
+
+ >>> format(14, '#b'), format(14, 'b')
+ ('0b1110', '1110')
+ >>> f'{14:#b}', f'{14:b}'
+ ('0b1110', '1110')
+
+ See also :func:`format` for more information.
.. class:: bool([x])
@@ -635,16 +650,26 @@ are always available. They are listed here in alphabetical order.
.. function:: hex(x)
- Convert an integer number to a lowercase hexadecimal string
- prefixed with "0x", for example:
+ Convert an integer number to a lowercase hexadecimal string prefixed with
+ "0x". If x is not a Python :class:`int` object, it has to define an
+ __index__() method that returns an integer. Some examples:
>>> hex(255)
'0xff'
>>> hex(-42)
'-0x2a'
- If x is not a Python :class:`int` object, it has to define an __index__()
- method that returns an integer.
+ If you want to convert an integer number to an uppercase or lower hexadecimal
+ string with prefix or not, you can use either of the following ways:
+
+ >>> '%#x' % 255, '%x' % 255, '%X' % 255
+ ('0xff', 'ff', 'FF')
+ >>> format(255, '#x'), format(255, 'x'), format(255, 'X')
+ ('0xff', 'ff', 'FF')
+ >>> f'{255:#x}', f'{255:x}', f'{255:X}'
+ ('0xff', 'ff', 'FF')
+
+ See also :func:`format` for more information.
See also :func:`int` for converting a hexadecimal string to an
integer using a base of 16.
@@ -878,10 +903,27 @@ are always available. They are listed here in alphabetical order.
.. function:: oct(x)
- Convert an integer number to an octal string. The result is a valid Python
- expression. If *x* is not a Python :class:`int` object, it has to define an
- :meth:`__index__` method that returns an integer.
+ Convert an integer number to an octal string prefixed with "0o". The result
+ is a valid Python expression. If *x* is not a Python :class:`int` object, it
+ has to define an :meth:`__index__` method that returns an integer. For
+ example:
+
+ >>> oct(8)
+ '0o10'
+ >>> oct(-56)
+ '-0o70'
+
+ If you want to convert an integer number to octal string either with prefix
+ "0o" or not, you can use either of the following ways.
+
+ >>> '%#o' % 10, '%o' % 10
+ ('0o12', '12')
+ >>> format(10, '#o'), format(10, 'o')
+ ('0o12', '12')
+ >>> f'{10:#o}', f'{10:o}'
+ ('0o12', '12')
+ See also :func:`format` for more information.
.. index::
single: file object; open() built-in function