Как объединить `Object` со строкой?

Как объединить Object со строкой (примитивом) без перегрузки и явного приведения типа ( str () )?

class Foo:
    def __init__(self, text):
        self.text = text

    def __str__(self):
        return self.text


_string = Foo('text') + 'string'

Вывод:

Traceback (most recent call last):
  File "test.py", line 10, in <module>
      _string = Foo('text') + 'string'

TypeError: unsupported operand type(s) for +: 'type' and 'str'

оператор + должен быть перегружен? Есть ли другие способы (просто интересно)?

PS: Я знаю об операторах перегрузки и приведении типов (например, str (Foo ('text')) )

11
задан tomas 16 February 2012 в 16:16
поделиться