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:
is
veis not
operatörlerini nasıl geçersiz kılacağımı araştırıyordum . A gibiquery = tinydb.Query().field == value
yazmak 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
.