使用def__contains搜索字符串并打印结果__()

时间:2017-05-02 16:21:24

标签: python

我正在尝试编写一段可以在图形中搜索字符串的代码,如果找到它,它将打印一个字符串,表明它已找到。我认为我使用包含的方式搜索它是正确的,我只是无法理解如何打印显示该信息的字符串。以下是相关部分,特别是def_contains __()。

    def __contains__(self, item):
        if "EVGA" in self.graph: 
            print "Contains EVGA"
        else:
            print "Doesn't Contain EVGA"

1 个答案:

答案 0 :(得分:0)

我希望我理解你的问题,但我猜你想要修改使用__contains__来搜索字符串(显卡名称)和 如果发现打印包含该特定图形卡的声明。 如果是,您可以修改__contains__类中的COMPUTER函数,如下所示:

def __contains__(self, item):
     if item in self.graph:
        print ("Contains {0}".format(item)) # this is optional
        return True 
     else:
        print ("Does not Contain {}".format(item)) # this is optional
        return False

当你跑

print( "EVGA" in computer1)
print ("EVGA" in computer2)
print ("Gigabyte" in computer2)

你会得到:

Contains EVGA
True
Does not Contain EVGA
False
Contains Gigabyte
True

编辑:在user2357112提及的评论之后