美文网首页
God_全局map的引入

God_全局map的引入

作者: 古佛青灯度流年 | 来源:发表于2017-06-04 09:06 被阅读33次

    前言:

    框架是用python写的,其实没有map这个说法,但是灵感来源于java的map,索性起名为map,虽然原理是一样的,但是Python的map可比java 的简单100倍啊,设置简单且使用简单

    实际应用:

    • 实际工作中有很多地方会用到别文件中生产的数据,有的时候有没法实现调用,这时候就需要一个全局的媒介,通过这个媒介将数据传入到你想要应用的地方,这中方法唯一的限制就是使用的地方要在设置变量之后运行(这是废话,但是得注意)

    代码及引用:

    • 方法:
    #GlobalMap.py
    class GlobalMap:
        # 拼装成字典构造全局变量  借鉴map  包含变量的增删改查
        map = {}
        def set(self, **keys):
            try:
                for key_, value_ in keys.items():
                    self.map[key_] = value_
            except BaseException as msg:
                log.error(msg)
                raise msg
        def del_map(self, key):
            try:
                del self.map[key]
                return self.map
            except KeyError:
                log.error("key:'" + str(key) + "'  不存在")
        def get(self,*args):
            try:
                dic = {}
                for key in args:
                    if len(args)==1:
                        dic = self.map[key]
                    elif len(args)==1 and args[0]=='all':
                        dic = self.map
                    else:
                        dic[key]=self.map[key]
                return dic
            except KeyError:
                log.warning("key:'" + str(key) + "'  不存在")
                return None
    
    • 引用:
    # 在文件A中设置值
    from path import GlobalMap
    g_map = GlobalMap()
    g_map.set(a=1,b=3,c=5)
    
    # 在文件B中拿取值
    g_map.get('a')
    g_map.get('a','b')
    

    这样在实际应用中确实能方便不少,很赞
    @晴天-2017-06-04 09:03:48
    祭奠一下逝去的青春

    相关文章

      网友评论

          本文标题:God_全局map的引入

          本文链接:https://www.haomeiwen.com/subject/dukvfxtx.html