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

How can i override the exactly equal function for a specific string in Python?

我是python

的新手

在一种特殊情况下,我想覆盖 == 函数。 也就是说,我想 "trick" python 认为给定的字符串等于我将其与之比较的任何其他字符串 说 x = "potato", 将任何字符串与 x 进行比较时,我希望它为 return True。 x == "MANGO" 和 x == "Tomato" 将为真 但当然 "MANGO" == "Tomato" 仍然是 false

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

如果这不是可以做到的,那当然没关系

您可以创建一个 class 继承自 str 并覆盖 eq

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