pynbody.simdict.SimDict#
- class pynbody.simdict.SimDict[source]#
Bases:
dictA dictionary class for managing properties of a
SimSnapobject.Above the standard dictionary methods, this class also provides automatic derivation of properties, such as converting between redshift and scalefactor, and default values for cosmological parameters.
To add further properties use the SimDict.getter and SimDict.setter decorators. For instance, to add a property ‘X_copy’ which just reflects the value of the property ‘X’, you would use the following code:
@SimDict.getter def X_copy(d): return d['X'] @SimDict.setter def X_copy(d, value): d['X'] = value
Methods
clear()copy()fromkeys(iterable[, value])Create a new dictionary with keys from iterable and values set to value.
get(key[, default])Return the value for key if key is in the dictionary, else default.
getter(f)Define a getter function for all SimDicts
items()keys()pop(key[, default])If the key is not found, return the default if given; otherwise, raise a KeyError.
popitem(/)Remove and return a (key, value) pair as a 2-tuple.
setdefault(key[, default])Insert key with a value of default if key is not in the dictionary.
setter(f)Define a setter function for all SimDicts
update([E, ]**F)If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
values()- __init__(*args, **kwargs)#
- clear() None. Remove all items from D.#
- copy() a shallow copy of D#
- fromkeys(iterable, value=None, /)#
Create a new dictionary with keys from iterable and values set to value.
- get(key, default=None, /)#
Return the value for key if key is in the dictionary, else default.
- static getter(f)[source]#
Define a getter function for all SimDicts
See the class documentation for an example of usage.
- Parameters:
f (function) – The function to be used as a getter. The function should take a single argument, the SimDict object, and return the value of the property. The name of the property is the name of the function.
- items() a set-like object providing a view on D's items#
- keys() a set-like object providing a view on D's keys#
- pop(key, default=<unrepresentable>, /)#
If the key is not found, return the default if given; otherwise, raise a KeyError.
- popitem(/)#
Remove and return a (key, value) pair as a 2-tuple.
Pairs are returned in LIFO (last-in, first-out) order. Raises KeyError if the dict is empty.
- setdefault(key, default=None, /)#
Insert key with a value of default if key is not in the dictionary.
Return the value for key if key is in the dictionary, else default.
- static setter(f)[source]#
Define a setter function for all SimDicts
See the class documentation for an example of usage.
- Parameters:
f (function) – The function to be used as a setter. The function should take two arguments, the SimDict object and the value. The name of the property is the name of the function.
- update([E, ]**F) None. Update D from dict/iterable E and F.#
If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
- values() an object providing a view on D's values#