实验楼挑战赛(1)-实现不可修改字典

class ImmutableDict(object):
    def __init__(self, **kwargs):
        self.kwargs = kwargs
    def __getitem__(self,key):
        try:
            return self.kwargs[key]
        except:
            raise TypeError("'ImmutableDict' objects are immutable")
    def pop(self,key):
        raise TypeError("'ImmutableDict' objects are immutable")
    def get(self,key):
        return self.kwargs.get(key)
def __setitem__(self,key):
     raise TypeError("'ImmutableDict' objects are immutable")

初始化方法中为什么会用到**kwargs,可参考这篇文章https://www.cnblogs.com/fengmk2/archive/2008/04/21/1163766.html

 

posted @ 2017-12-22 15:34  leonardchen  阅读(436)  评论(0编辑  收藏  举报