我很好奇是否有办法模仿与自定义类的内置类型相同的功能。解释我要找的东西的最好方法是举个例子。
class MyClass(object):
def __init__(self, val):
self._returnVal = val
myObject = MyClass('test')
print myObject
而不是上面的代码返回:
<__main__.MyClass object at 0x023861F0>
有没有办法在我们调用对象时自动返回self._returnVal,但是还是允许我们调用myObject上存在的方法?
答案 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