创建class,不带引号表示

Create class and represent it without quotation marks

我需要在表示我的数据类型时 PS 不带引号和结束引号。
(这样'+'就变成了+)

我尝试覆盖 repr 但无法弄清楚如何正确地做到这一点。我的问题:

class E:                # Expression-Class
    pass

class AE(E):            # Arithmetic_Expression-Class
    pass

class BO(AE):           # Binary_Operation-Class
    pass

class P(BO):            # Plus-Class
    operator = PS()

class PS:               # Plus_Sign-Class
    def __repr__(self):
        return +        # <- obviously raises an error 
                        # how to return '+' string without the single quotes (so: '+' -> +)?

__repr__ 必须 return 一个字符串 (str)。如果你 return '+' 你是 return 一个只有一个加号的字符串。如果你 print() 它,它周围不会有单引号。您看到单引号的唯一原因是无论打印什么,它都不会打印值,而是字符串 +.

的表示形式
>>> class PS:
...   def __repr__(self):
...     return '+'
...
>>> a = PS()
>>> a
+
>>> print(a)
+
>>> repr(a)
'+'