[Python-Dev] Why is there still a PRINT_EXPR opcode in Python 3?
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 PRINT_EXPR
>> >> 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 PRINT_EXPR alive. When I
> look at the code of PyRun_InteractiveOne, 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