python - python:初学者不理解结果:将列表附加到一个类
问题描述
我是python的初学者,不明白以下内容:我定义了一个类和一个列表。当我想在附加列表后打印列表时,我没有得到字符串,尽管我有一个应该返回字符串的方法,对吧?我看不出这里有什么问题..:/我希望结果是[14,12] ...如果有人知道我做错了什么,请告诉我:/
class av:
def __init__(self, num):
self.num = num
def __str__(self,num):
self.num = num
return str(self.num)
lst = []
lst.append(av(14))
lst.append(av(12))
print(lst)
结果:
[<__main__.av object at 0x102503dd0>, <__main__.av object at 0x102505d90>]
解决方案
__str__
仅在您print
反对时使用,您可以使用__repr__
它在控制台上获得方便的“表示”(更多详细信息):
>>> class av:
... def __init__(self, num):
... self.num = num
... def __str__(self):
... return str(self.num)
... def __repr__(self):
... return 'av(%d)' % self.num
...
>>> av(12)
av(12)
>>> print(av(12))
12
>>> [av(12), av(12)]
[av(12), av(12)]
>>> print([av(12), av(12)])
[av(12), av(12)]
推荐阅读
- docker - aws ecs 上的 nginx docker 容器 >> 普通 HTTP 请求已发送到 HTTPS 端口
- microsoft-cognitive - 如何为对话框配置 DirectLineSpeech?
- c++ - C++ 代码将函数作为字符串输入,然后在代码中使用前面的函数
- python - 无法从 MongoDB python 获取集合名称
- docusignapi - DocuSign:如何验证 Webhook 请求?
- r - 在 ShinyDashboard 中的 Box 内调整 DataTable 的高度
- excel - 即使更改值后仍保持单元格的格式
- vue.js - 页面刷新后如何在Vuex中重新打开websocket连接?
- css - 如何更改“导航栏背景颜色”和“按钮颜色”?
- android - 无法在 Activity 和 Fragment 之间共享 Viewmodel: