为了账号安全,请及时绑定邮箱和手机立即绑定

重写Python的“ in”运算符?

重写Python的“ in”运算符?

GCT1015 2019-11-28 09:41:15
如果要在Python中创建自己的类,则应定义什么函数,以便允许使用“ in”运算符,例如class MyClass(object):    ...m = MyClass()if 54 in m:    ...
查看完整描述

3 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

一个更完整的答案是:


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 m

True  

请参阅有关重载的文档__contains__。


查看完整回答
反对 回复 2019-11-28
?
侃侃无极

TA贡献2051条经验 获得超10个赞

您可能还想看一下我用来创建特定于域的语言的中缀运算符覆盖框架:


http://code.activestate.com/recipes/384122/


查看完整回答
反对 回复 2019-11-28
  • 3 回答
  • 0 关注
  • 1017 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号