当在 Python 中输入解释器时,你能创建一个像 None 一样的对象吗?

Can you create an object which acts like None when typed into the interpreter in Python?

是否可以创建具有以下行为的 class?

>>> x = X()
>>> x
>>>

我尝试了以下方法

class X:
    def __repr__(self):
        return ""

这导致

>>> x = X()
>>> x

>>>

还有以下内容:

class X:
    def __repr__(self):
        return repr(None)

>>> x = X()
>>> x
None
>>>

和其他想法,例如当您调用 repr 时从 __repr__ 错误中返回 None,以及从 NoneType 中派生出错误。

您无法创建一个如您所愿的值,但您可以更改交互式提示显示值的方式。请参阅 sys.displayhook 了解如何自定义显示。