猿问

重写Python的“ in”运算符?

如果要在Python中创建自己的类,则应定义什么函数,以便允许使用“ in”运算符,例如


class MyClass(object):

    ...


m = MyClass()


if 54 in m:

    ...


GCT1015
浏览 1018回答 3
3回答

杨魅力

一个更完整的答案是:class MyClass(object):    def __init__(self):        self.numbers = [1,2,3,4,54]    def __contains__(self, key):        return key in self.numbers在这里,如果问54是否在m中,您将得到True:>>> m = MyClass()>>> 54 in mTrue  请参阅有关重载的文档__contains__。

侃侃无极

您可能还想看一下我用来创建特定于域的语言的中缀运算符覆盖框架:http://code.activestate.com/recipes/384122/
随时随地看视频慕课网APP

相关分类

Python
我要回答