前言:
框架是用python寫(xiě)的飘千,其實(shí)沒(méi)有map這個(gè)說(shuō)法蔑歌,但是靈感來(lái)源于java的map,索性起名為map倚评,雖然原理是一樣的,但是Python的map可比java 的簡(jiǎn)單100倍啊馏予,設(shè)置簡(jiǎn)單且使用簡(jiǎn)單
實(shí)際應(yīng)用:
- 實(shí)際工作中有很多地方會(huì)用到別文件中生產(chǎn)的數(shù)據(jù)天梧,有的時(shí)候有沒(méi)法實(shí)現(xiàn)調(diào)用,這時(shí)候就需要一個(gè)全局的媒介霞丧,通過(guò)這個(gè)媒介將數(shù)據(jù)傳入到你想要應(yīng)用的地方呢岗,這中方法唯一的限制就是使用的地方要在設(shè)置變量之后運(yùn)行(這是廢話(huà),但是得注意)
代碼及引用:
- 方法:
#GlobalMap.py
class GlobalMap:
# 拼裝成字典構(gòu)造全局變量 借鑒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中設(shè)置值
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')
這樣在實(shí)際應(yīng)用中確實(shí)能方便不少蚯妇,很贊
@晴天-2017-06-04 09:03:48
祭奠一下逝去的青春