本文整理汇总了Python中weakref.WeakValueDictionary.append方法的典型用法代码示例。如果您正苦于以下问题:Python WeakValueDictionary.append方法的具体用法?Python WeakValueDictionary.append怎么用?Python WeakValueDictionary.append使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类weakref.WeakValueDictionary
的用法示例。
在下文中一共展示了WeakValueDictionary.append方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: SilkArray
# 需要导入模块: from weakref import WeakValueDictionary [as 别名]
# 或者: from weakref.WeakValueDictionary import append [as 别名]
class SilkArray(SilkObject):
_element = None
dtype = None
_elementary = None
_arity = None
__slots__ = [
"_parent", "_storage_enum", "_storage_nonjson_children",
"_data", "_children", "_Len", "_is_none", "__weakref__"
]
def __init__(self, *args, _mode="any", **kwargs):
self._storage_enum = None
self._storage_nonjson_children = set()
self._children = None
if _mode == "parent":
self._init(
kwargs["parent"],
kwargs["storage"],
kwargs["data_store"],
kwargs["len_data_store"],
)
elif _mode == "from_numpy":
assert "parent" not in kwargs
self._init(
None,
"numpy",
kwargs["data_store"],
kwargs["len_data_store"],
)
else:
assert "parent" not in kwargs
assert "storage" not in kwargs
assert "data_store" not in kwargs
self._init(None, "json", None, None)
if _mode == "any":
self.set(*args)
elif _mode == "empty":
pass
elif _mode == "from_json":
self.set(*args, prop_setter=_prop_setter_json, **kwargs)
else:
raise ValueError(_mode)
@property
def _len(self):
return int(self._Len[0])
@_len.setter
def _len(self, value):
self._Len[0] = value
def _init(self, parent, storage, data_store, len_data_store):
if parent is not None:
if storage == "numpy":
self._parent = lambda: parent # hard ref
else:
self._parent = weakref.ref(parent)
else:
self._parent = lambda: None
self.storage = storage
self._is_none = False
self._storage_nonjson_children.clear()
if self._children is not None:
for child in self._children:
child._parent = lambda: None
if storage == "json":
self._children = []
if data_store is None:
data_store = []
self._data = data_store
self._Len = [0]
elif storage == "numpy":
self._children = WeakValueDictionary()
assert data_store is not None
assert len_data_store is not None
assert len(len_data_store), len_data_store
dtype = np.dtype(self.dtype, align=True)
assert data_store.dtype == dtype
self._data = data_store
self._Len = len_data_store
return
else:
raise ValueError(storage)
assert storage == "json"
for n in range(len(self._data)):
if n > len(data_store):
if issubclass(self._element, SilkArray):
self._data.append([])
else:
self._data.append({})
if not self._elementary:
child = self._element(
_mode="parent",
storage="json",
parent=self,
data_store=self._data[n],
len_data_store=None,
#.........这里部分代码省略.........