作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
使用以下内容:
class test:
def __init__(self):
self._x = 2
def __str__(self):
return str(self._x)
def __call__(self):
return self._x
然后使用 t = test()
创建一个实例
我看到了如何使用 __str__
进行打印:
>>> print t
2
我可以看到如何使用 __call__
使对象可调用
>>> t()
2
但是如何让对象返回内部属性,以便在您输入时:
>>> t
2
代替:
<__main__.test instance at 0x000000000ABC6108>
以类似于 Pandas
打印出 DataFrame
对象的方式。
最佳答案
__repr__
旨在成为对象的文字表示。
请注意,如果您定义了 __repr__
,则不必定义 __str__
,如果您希望它们都返回相同的内容。 __repr__
是 __str__
的后备。
class test:
def __init__(self):
self._x = 2
def __repr__(self):
return str(self._x)
def __call__(self):
return self._x
t = test()
>>> print t
2
>>> t
2
关于python - 如何让 Python 类返回一些数据而不是它的对象地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21896051/
我是一名优秀的程序员,十分优秀!