gpt4 book ai didi

python - 如何让 Python 类返回一些数据而不是它的对象地址

转载 作者:太空狗 更新时间:2023-10-30 01:44:44 27 4
gpt4 key购买 nike

上下文:

使用以下内容:

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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com