当前位置: 首页>>代码示例>>Python>>正文


Python WeakValueDictionary.__getitem__方法代码示例

本文整理汇总了Python中weakref.WeakValueDictionary.__getitem__方法的典型用法代码示例。如果您正苦于以下问题:Python WeakValueDictionary.__getitem__方法的具体用法?Python WeakValueDictionary.__getitem__怎么用?Python WeakValueDictionary.__getitem__使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在weakref.WeakValueDictionary的用法示例。


在下文中一共展示了WeakValueDictionary.__getitem__方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __getitem__

# 需要导入模块: from weakref import WeakValueDictionary [as 别名]
# 或者: from weakref.WeakValueDictionary import __getitem__ [as 别名]
 def __getitem__(self, key):
     frozen_key = freeze(key)
     if frozen_key in self:
         return WeakValueDictionary.__getitem__(self, frozen_key)
     value = self.lookup(key)
     self[frozen_key] = value
     return value
开发者ID:closeio,项目名称:flask-common,代码行数:9,代码来源:cache.py

示例2: __init__

# 需要导入模块: from weakref import WeakValueDictionary [as 别名]
# 或者: from weakref.WeakValueDictionary import __getitem__ [as 别名]
class LRUCache:
	def __init__(self, max_size):
		self.LRU = [Node(time(), "none%s"%i) for i in range(max_size)]
		self.search = WeakValueDictionary()
		for i in self.LRU:
			self.search[i.name] = i
		
	def __setitem__(self, name, value):
		q = self.search.get(name, None)
		if q:
			q.data = value
			q.time = time()
		else:
			lru = self.LRU[0]
			self.search.pop(lru.name)
			lru.data = value
			lru.time = time()
			lru.name = name
			self.search[lru.name] = lru
		self.LRU.sort()
		
	def get(self, name, default=None):
		pos = None
		try:
			pos = self.search.__getitem__(name)
			pos.time = time()
			return pos.data
		except KeyError:
			if default is not None:
				return default
			else:
				raise
开发者ID:mizhal,项目名称:oldies-veronica-backend,代码行数:34,代码来源:CacheDict.py

示例3: __getitem__

# 需要导入模块: from weakref import WeakValueDictionary [as 别名]
# 或者: from weakref.WeakValueDictionary import __getitem__ [as 别名]
    def __getitem__(self, key):
        value = WeakValueDictionary.__getitem__(self, key)
        # check boundaries to minimiza duplicate references
        while len(self.queue) > 0  and self.queue[0][0] == key:
            # item at left end of queue pop it since it'll be appended
            # to right
            self.queue.popleft()

        # only append if item is not at right end of queue
        if not (len(self.queue) and self.queue[-1][0] == key):
            self.queue.append((key, value))

        return value
开发者ID:AndryulE,项目名称:kitsune,代码行数:15,代码来源:lru.py

示例4: __getitem__

# 需要导入模块: from weakref import WeakValueDictionary [as 别名]
# 或者: from weakref.WeakValueDictionary import __getitem__ [as 别名]
 def __getitem__(self, k):
     v = WeakValueDictionary.__getitem__(self, k) # KeyError if not found
     self.keep_this(v)
     return v
开发者ID:antonwang,项目名称:pygr,代码行数:6,代码来源:classutil.py


注:本文中的weakref.WeakValueDictionary.__getitem__方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。