创建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)
'+'
我需要在表示我的数据类型时 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)
'+'