очень странное поведение с функцией __repr__ - PullRequest
0 голосов
/ 04 февраля 2020

У меня есть класс с __repr__ методом. Что-то вроде

class foo:

   def __init__(self):
      ...

   def bar(self):
      ...

   def barnone(self):
      ...

   def __repr__(self):
      ...

Допустим, я создаю его экземпляр в объекте a. Теперь запускается __repr__ и выводится всякий раз, когда я набираю плюс плюс имя функции плюс открывающая скобка:

>>> a = foo()
>>> a = bar(  # and now, before I can do anything, __repr__ right here gives output!
#   __repr__ output
>>> a = bar(  # thank goodness it gives me back the command line so I can continue typing

Так что я все еще могу работать с классом, но это действительно раздражает и очень любопытно. Кто-нибудь видел это раньше?

Я бегу python 3.x со Spyder в Анаконде, если это имеет значение.

...