cfdm.core.Container


class cfdm.core.Container(source=None, copy=True)[source]

Bases: object

Abstract base class for storing components.

Warning

The custom component dictionary is only shallow copied when initialised from the source parameter, regardless of the value of the copy parameter. This is to avoid potentially expensive deep copies of the dictionary values.

A subclass of Container that requires custom dictionary values to be deep copied should ensure that this occurs its __init__ method.

New in version (cfdm): 1.7.0

Initialiation

Parameters
source: optional

Initialise the components from those of source.

Note that if source is a Container instance then cfdm.core.Container(source=source) is equivalent to source.copy().

copy: bool, optional

If False then do not deep copy input parameters prior to initialisation. By default arguments are deep copied.

Miscellaneous

Methods

copy

Return a deep copy.

Private

Methods

_del_component

Remove a component.

_get_component

Return a component.

_has_component

Whether a component has been set.

_set_component

Set a component.

Special

Methods

__deepcopy__

Called by the copy.deepcopy function.

Docstring substitutions

Methods

_docstring_special_substitutions

Return the special docstring substitutions.

_docstring_substitutions

Returns the substitutions that apply to methods of the class.

_docstring_package_depth

Returns the class {{package}} substitutions package depth.

_docstring_method_exclusions

Returns method names excluded in the class substitutions.