模仿内置类型的功能

时间:2011-12-12 04:24:48

标签: python

我很好奇是否有办法模仿与自定义类的内置类型相同的功能。解释我要找的东西的最好方法是举个例子。

class MyClass(object):

    def __init__(self, val):
        self._returnVal = val

myObject = MyClass('test')
print myObject

而不是上面的代码返回:

<__main__.MyClass object at 0x023861F0>

有没有办法在我们调用对象时自动返回self._returnVal,但是还是允许我们调用myObject上存在的方法?

1 个答案:

答案 0 :(得分:2)

您可以覆盖__repr__方法:

class MyClass(object):
    def __init__(self, val):
        self._returnVal = val
    def __repr__(self):
        return self._returnVal

现在如果我实例化我得到的类:

>>> myObject = MyClass('test')
>>> print myObject
test