Yanıtlar:
Daha eksiksiz bir cevap:
class MyClass(object):
def __init__(self):
self.numbers = [1,2,3,4,54]
def __contains__(self, key):
return key in self.numbers
Burada 54 m olup olmadığını sorarken True alırsınız:
>>> m = MyClass()
>>> 54 in m
True
Aşırı yükleme__contains__ hakkındaki belgelere bakın .
Ayrıca, etki alanına özgü bir dil oluşturmak için kullanabildiğim bir infix operatörü geçersiz kılma çerçevesine de göz atmak isteyebilirsiniz:
isveis notoperatörlerini nasıl geçersiz kılacağımı araştırıyordum . A gibiquery = tinydb.Query().field == valueyazmak da mümkünQuery().field is not None. Ama öyle görünüyor ki, şu an için bırakılıyorum__eq__ve__ne__bu da sessizliğe yol açıyorQuery().field != None.