【发布时间】:2013-10-04 03:22:31
【问题描述】:
如果 title 属性与我的搜索匹配,我将在其中搜索一个对象
class Something(object):
def __init__(self,title):
self.title = title
def __str__(self):
return "%s is the title " % self.title
如何在对象被调用时打印它?这就是我搜索它的方式。
search = " ".join(s[1:]).lower()
if any(search in str(a.title).lower() for a in something):
print filter(lambda x: search in str(x.title),something)
If any(...) 将检查搜索的任何部分是否与我的对象的标题匹配,如果找到任何内容将返回 true。
filter(...) 打印对象,但这是我遇到问题的地方它打印:
[<__main__.Something object at 0x0000000002C93B38>, <__main__.Something object at 0x0000000002D33828>]
我知道这是一个对象,为什么不通过__str__(self)方法打印?如何从我的对象Something 中调用打印功能?
【问题讨论】:
标签: python search object filter lambda