isinstance.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. # Testing with builtin types
  2. assert isinstance(10, int) == True
  3. assert isinstance("Hello, world!", str) == True
  4. assert isinstance([1, 2, 3, 4, 5], list) == True
  5. assert isinstance({"key": "value"}, dict) == True
  6. assert isinstance(3.14, float) == True
  7. assert isinstance(object(), object) == True
  8. class MyClass:
  9. pass
  10. class BaseClass(object):
  11. def __init__(self):
  12. self.a = 1
  13. class DerivedClass(BaseClass):
  14. def __init__(self):
  15. super().__init__()
  16. self.b = 2
  17. base_instance = BaseClass()
  18. derived_instance = DerivedClass()
  19. # Instances of DerivedClass should also be instances of BaseClass
  20. assert isinstance(MyClass(), object) == True
  21. assert isinstance(base_instance, object) == True
  22. assert isinstance(base_instance, BaseClass) == True
  23. assert isinstance(derived_instance, BaseClass) == True
  24. # However, instances of BaseClass are not instances of DerivedClass
  25. assert isinstance(base_instance, DerivedClass) == False
  26. # And instances of DerivedClass are, of course, instances of DerivedClass
  27. assert isinstance(derived_instance, DerivedClass) == True
  28. print('PASS')