Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ExtendedDict(dict):
- def __setattr__(self, key, value):
- if type(key) is str:
- self.__dict__[key] = value
- else:
- raise ValueError
- def __setitem__(self, key, value):
- if type(key) is str:
- self.__dict__[key] = value
- else:
- raise ValueError
- def __getattr__(self, key):
- if key in self.__dict__:
- return self.__dict__.get(key)
- else:
- raise ValueError
- def __getitem__(self, key):
- if isinstance(key, slice):
- list_sort = sorted(self.__dict__.items(), key=lambda val: val[0])
- return list_sort[key.start:key.stop:key.step]
- elif key in self.__dict__:
- return self.__dict__.get(key)
- else:
- raise ValueError
- def __delattr__(self, key):
- if key in self.__dict__:
- del self.__dict__[key]
- else:
- raise ValueError
- def __delitem__(self, key):
- if key in self.__dict__:
- del self.__dict__[key]
- else:
- raise ValueError
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement