Это просто ipython. В стандартном Python 3.7 REPL это вывод:
>>> test = {x:str(x)*10 for x in range(10)}
>>> print(test)
{0: '0000000000', 1: '1111111111', 2: '2222222222', 3: '3333333333', 4: '4444444444', 5: '5555555555', 6: '6666666666', 7: '7777777777', 8: '8888888888', 9: '9999999999'}
>>> test
{0: '0000000000', 1: '1111111111', 2: '2222222222', 3: '3333333333', 4: '4444444444', 5: '5555555555', 6: '6666666666', 7: '7777777777', 8: '8888888888', 9: '9999999999'}
>>>
Вывод будет таким же, если мы выполним его как «нормальный» скрипт:
test = {x: str(x) * 10 for x in range(10)}
print(str(test))
# {0: '0000000000', 1: '1111111111', 2: '2222222222', 3: '3333333333', 4: '4444444444', 5: '5555555555', 6: '6666666666', 7: '7777777777', 8: '8888888888', 9: '9999999999'}
print(repr(test))
# {0: '0000000000', 1: '1111111111', 2: '2222222222', 3: '3333333333', 4: '4444444444', 5: '5555555555', 6: '6666666666', 7: '7777777777', 8: '8888888888', 9: '9999999999'}
Никаких разрывов строк в представлениях str
или repr
, как ранее упоминалось в комментариях:
print(repr(test) == str(test))
# True
Вывод таков: это всего лишь ipython, который берет на себя инициативу, чтобы сделать вывод repr
более удобным для человека.