| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- # test builtin callable
- # primitives should not be callable
- print(callable(None))
- print(callable(1))
- print(callable([]))
- print(callable("dfsd"))
- # modules should not be callabe
- import sys
- print(callable(sys))
- # builtins should be callable
- print(callable(callable))
- # lambdas should be callable
- print(callable(lambda:None))
- # user defined functions should be callable
- def f():
- pass
- print(callable(f))
- # types should be callable, but not instances
- class A:
- pass
- print(callable(A))
- print(callable(A()))
- # instances with __call__ method should be callable
- class B:
- def __call__(self):
- pass
- print(callable(B()))
- # this checks internal use of callable when extracting members from an instance
- class C:
- def f(self):
- return "A.f"
- class D:
- g = C() # g is a value and is not callable
- print(callable(D().g))
- print(D().g.f())
|