如何在Python中覆盖特定字符串的完全相等的函数?

时间:2015-11-22 00:09:00

标签: python string python-2.7 equality

我是python

的新界限

我想在一个特例中覆盖==函数。 也就是说,我想“欺骗”python认为给定的字符串等于我比较的任何其他字符串 说x =“马铃薯”, 将任何字符串与x进行比较时,我希望它返回True。 x ==“MANGO”和x ==“Tomato”将为True 但当然“MANGO”==“番茄”仍然是假的

我希望我不必使用字符串,但这是必要的。

如果这不是可以做的事情,那么当然不要介意

1 个答案:

答案 0 :(得分:1)

你可以创建一个继承自str并重写 eq

的类
class equalToAllStrings(str):
    def __eq__(self, other):
        return type(other) is str
x = equalToAllStrings("a")
x == 'b'