जवाबों:
एक और पूर्ण उत्तर है:
class MyClass(object):
def __init__(self):
self.numbers = [1,2,3,4,54]
def __contains__(self, key):
return key in self.numbers
जब 54 मीटर था, तो यहां आपको यह सच है कि:
>>> m = MyClass()
>>> 54 in m
True
ओवरलोडिंग पर प्रलेखन__contains__
देखें ।
तुम भी एक infix ऑपरेटर ओवरराइड ढांचे पर एक नज़र रखना चाह सकते हैं जो मैं एक डोमेन-विशिष्ट भाषा बनाने के लिए उपयोग करने में सक्षम था:
is
औरis not
ऑपरेटरों को ओवरराइड किया जाए । ए की तरहquery = tinydb.Query().field == value
, लिखने में भी सक्षम होQuery().field is not None
। लेकिन ऐसा लगता है कि मैं कुछ समय के लिए__eq__
और साथ छोड़ दिया गया हूं__ne__
, जो कि unpythonic की ओर जाता हैQuery().field != None
। (सार्क)