2014-06-10 23:07:56 +01:00
|
|
|
# A contains everything
|
|
|
|
class A:
|
|
|
|
def __contains__(self, key):
|
|
|
|
return True
|
|
|
|
|
|
|
|
a = A()
|
|
|
|
print(True in a)
|
|
|
|
print(1 in a)
|
|
|
|
print(() in a)
|
|
|
|
|
|
|
|
# B contains given things
|
|
|
|
class B:
|
|
|
|
def __init__(self, items):
|
|
|
|
self.items = items
|
|
|
|
def __contains__(self, key):
|
|
|
|
return key in self.items
|
|
|
|
|
|
|
|
b = B([])
|
|
|
|
print(1 in b)
|
|
|
|
b = B([1, 2])
|
|
|
|
print(1 in b)
|
|
|
|
print(2 in b)
|
|
|
|
print(3 in b)
|
2022-04-12 23:17:38 +01:00
|
|
|
|
|
|
|
|
|
|
|
class C:
|
|
|
|
def __contains__(self, arg):
|
|
|
|
return arg
|
|
|
|
|
|
|
|
|
|
|
|
print(C().__contains__(0))
|
|
|
|
print(C().__contains__(1))
|
|
|
|
print(C().__contains__(''))
|
|
|
|
print(C().__contains__('foo'))
|
|
|
|
print(C().__contains__(None))
|
|
|
|
|
|
|
|
print(0 in C())
|
|
|
|
print(1 in C())
|
|
|
|
print('' in C())
|
|
|
|
print('foo' in C())
|
|
|
|
print(None in C())
|
|
|
|
|
|
|
|
print(0 not in C())
|
|
|
|
print(1 not in C())
|
|
|
|
print('' not in C())
|
|
|
|
print('foo' not in C())
|
|
|
|
print(None not in C())
|