[Python-Dev] Why is there still a PRINT_EXPR opcode in Python 3? (original) (raw)

Amaury Forgeot d'Arc amauryfa at gmail.com
Mon Jan 5 13:25:14 CET 2009


On Mon, Jan 5, 2009 at 00:53, Benjamin Peterson wrote:

On Sun, Jan 4, 2009 at 5:36 PM, <skip at pobox.com> wrote:

>> Since print is now a builtin function why is there still a PRINTEXPR >> opcode? Benjamin> I believe it's used in the interactive interpreter to display Benjamin> the repr of an expression. Wouldn't it make more sense for the interactive interpreter to call print(repr(expr)) I'm not sure about the reasoning for keeping PRINTEXPR alive. When I look at the code of PyRunInteractiveOne, it seems it should be possible to kill it off.

How would you display multiple lines, like:

for x in range(3): ... x, x * x ... (0, 0) (1, 1) (2, 4) if 1: ... "some line" ... "another line" ... 'some line' 'another line'

OTOH this seems an obscure feature. "for" and "if" are statements after all.

-- Amaury Forgeot d'Arc



More information about the Python-Dev mailing list