如何使对象能够在被打印函数触发时返回其属性
在Python中,如果我们打印一些对象,当打印函数触发时,它会显示它们的属性。 例如:
print(int(69)) # 69
不像我自己定义的类这样:
class Foo:
def __init__(self,oke):
self.oke = oke
print(Foo('yeah')) # <__main__.Foo object at 0x000001EB00CDEEB0>
为什么它不返回 oke 属性?相反,它显示对象的内存地址?
我预计输出将是:
Foo(oke='yeah')
我知道我可以定义方法 getter get_oke()
,但我希望一次打印查看对象中的所有属性。
In python if we print some object, it will show their properties when triggered by print function.
For example:
print(int(69)) # 69
Unlike my own defined class like this:
class Foo:
def __init__(self,oke):
self.oke = oke
print(Foo('yeah')) # <__main__.Foo object at 0x000001EB00CDEEB0>
Why It doesn't return oke properties? Instead it show memory address of object?
I expect the output will be:
Foo(oke='yeah')
I know I can define method getter get_oke()
, but I want see all properties in an object at once print.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将 __repr__ 方法添加到您的类中。
来自文档
Add a
__repr__
method to your class.From the docs