我在this project of mine中有一个自定义对象,称为Page。页面的识别特征是它的title。页面通常是通过调用^{
有时,此模块的用户可能希望生成一些页面并将该生成器转换为普通的list
。在他们获得页面列表后,他们可能想检查他们得到的另一个页面是否在该列表中。然而,这:
>>> wp = mw_api_client.Wiki('https://en.wikipedia.org/w/api.php')
>>> wp.page('title') in [wp.page('title'),
wp.page('not this'),
wp.page('not this either')]
False
应该是正确的,而不是错误的,因为有一个页面中有title
“标题”。有什么神奇的方法可以让我实现这一点吗?我已经试过使用__eq__
(表示相等)和__hash__
(表示散列检查)(commit),但两种方法似乎都不管用。列表仅仅使用标识吗?或者我还缺什么?我该怎么做?你知道吗
等等,现在可以了!你知道吗
好吧,我不知道以前出了什么问题。这个问题现在解决了。不过,我会记住Attie的answer。你知道吗
我最初的答案是错误的。。。(见历史)。你知道吗
它总是值得实现一个简化的版本来打破。。。见下文(使用这些1、2、3、4作为灵感)
输出:
如你所见,这是有效的。。。你知道吗
我不知道我对你使用
self.__dict__.update(data)
的感觉如何。。。第一次就让我措手不及。。。我现在怀疑它是否使用here和here(两行都做相同的事情……)您能确保这些调用不会覆盖
title
吗?你知道吗相关问题 更多 >
编程相关推荐