Рассмотрим следующий код:
class Greet:
def __init__(self, greeting='Hello'):
print(greeting)
if __name__ == '__main__':
print('Initializing and assigning')
greet = Greet('Shalom!')
print('Only initializing a class')
Greet()
Если я запускаю сценарий, я получаю результат:
Initializing and assigning
Shalom!
Only initializing a class
Hello
Однако, допустим, я запускаю приведенный выше код в интерактивном режиме. REPL, взаимодействие выглядит следующим образом:
In 1> greet = Greet('Shalom!')
Shalom!
In 2> Greet()
Hello
<__main__.Greet object at 0x7fac80cc84c0>
Если вы заметили, во втором вводе, т.е. Greet()
, я получаю вторую строку, которая, как мне кажется, repr
объекта, который приводит к оценка ввода. Как называется этот ДОПОЛНИТЕЛЬНЫЙ выход? Потому что мне кажется, что это причуда самого REPL.