Issue 25483: Update dis.rst with FORMAT_VALUE opcode description.
This commit is contained in:
parent
a78c7954d5
commit
281d5321a3
|
@ -989,6 +989,25 @@ the more significant byte last.
|
|||
arguments.
|
||||
|
||||
|
||||
.. opcode:: FORMAT_VALUE (flags)
|
||||
|
||||
Used for implementing formatted literal strings (f-strings). Pops
|
||||
an optional *fmt_spec* from the stack, then a required *value*.
|
||||
*flags* is interpreted as follows:
|
||||
|
||||
* ``(flags & 0x03) == 0x00``: *value* is formattedd as-is.
|
||||
* ``(flags & 0x03) == 0x01``: call :func:`str` on *value* before
|
||||
formatting it.
|
||||
* ``(flags & 0x03) == 0x02``: call :func:`repr` on *value* before
|
||||
formatting it.
|
||||
* ``(flags & 0x03) == 0x03``: call :func:`ascii` on *value* before
|
||||
formatting it.
|
||||
* ``(flags & 0x04) == 0x04``: pop *fmt_spec* from the stack and use
|
||||
it, else use an empty *fmt_spec*.
|
||||
|
||||
Formatting is performed using the :c:func:`PyObject_Format` function.
|
||||
|
||||
|
||||
.. opcode:: HAVE_ARGUMENT
|
||||
|
||||
This is not really an opcode. It identifies the dividing line between
|
||||
|
|
Loading…
Reference in New Issue