Advertisement
Guest User

Untitled

a guest
Oct 18th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.10 KB | None | 0 0
  1. class ExtendedDict(dict):
  2.     def __setattr__(self, key, value):
  3.         if type(key) is str:
  4.             self.__dict__[key] = value
  5.         else:
  6.             raise ValueError
  7.  
  8.     def __setitem__(self, key, value):
  9.         if type(key) is str:
  10.             self.__dict__[key] = value
  11.         else:
  12.             raise ValueError
  13.  
  14.     def __getattr__(self, key):
  15.         if key in self.__dict__:
  16.             return self.__dict__.get(key)
  17.         else:
  18.             raise ValueError
  19.  
  20.     def __getitem__(self, key):
  21.         if isinstance(key, slice):
  22.             list_sort = sorted(self.__dict__.items(), key=lambda val: val[0])
  23.             return list_sort[key.start:key.stop:key.step]
  24.         elif key in self.__dict__:
  25.             return self.__dict__.get(key)
  26.         else:
  27.             raise ValueError
  28.  
  29.     def __delattr__(self, key):
  30.         if key in self.__dict__:
  31.             del self.__dict__[key]
  32.         else:
  33.             raise ValueError
  34.  
  35.     def __delitem__(self, key):
  36.         if key in self.__dict__:
  37.             del self.__dict__[key]
  38.         else:
  39.             raise ValueError
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement