colour.utilities.Node¶
- class colour.utilities.Node(*args: Any, **kwargs: Any)[source]¶
Bases:
object
Represent a basic node supporting the creation of basic node trees.
- Parameters
name – Node name.
parent – Parent of the node.
children – Children of the node.
data – The data belonging to this node.
args (Any) –
kwargs (Any) –
- Return type
Attributes
Methods
Examples
>>> node_a = Node('Node A') >>> node_b = Node('Node B', node_a) >>> node_c = Node('Node C', node_a) >>> node_d = Node('Node D', node_b) >>> node_e = Node('Node E', node_b) >>> node_f = Node('Node F', node_d) >>> node_g = Node('Node G', node_f) >>> node_h = Node('Node H', node_g) >>> [node.name for node in node_a.leaves] ['Node H', 'Node E', 'Node C'] >>> print(node_h.root.name) Node A >>> len(node_a) 7
Return a new instance of the
colour.utilities.Node
class.- Parameters
args (Any) – Arguments.
kwargs (Any) – Keywords arguments.
- Return type
- static __new__(cls, *args: Any, **kwargs: Any) colour.utilities.data_structures.Node [source]¶
Return a new instance of the
colour.utilities.Node
class.- Parameters
- Return type
- __init__(name: Optional[str] = None, parent: Optional[colour.utilities.data_structures.Node] = None, children: Optional[List[colour.utilities.data_structures.Node]] = None, data: Optional[Any] = None)[source]¶
- Parameters
parent (Optional[colour.utilities.data_structures.Node]) –
children (Optional[List[colour.utilities.data_structures.Node]]) –
- property name: str¶
Getter and setter property for the name.
- Parameters
value – Value to set the name with.
- Returns
Node name.
- Return type
- property parent: Optional[colour.utilities.data_structures.Node]¶
Getter and setter property for the node parent.
- property children: List[colour.utilities.data_structures.Node]¶
Getter and setter property for the node children.
- Parameters
value – Children to set the node with.
- Returns
Node children.
- Return type
- property root: colour.utilities.data_structures.Node¶
Getter property for the node tree.
- Returns
Node root.
- Return type
- property leaves: Generator¶
Getter property for the node leaves.
- Yields
Generator – Node leaves.
- property siblings: Generator¶
Getter property for the node siblings.
- Returns
Node siblings.
- Return type
Generator
- __weakref__¶
list of weak references to the object (if defined)
- __str__() str [source]¶
Return a formatted string representation of the node.
- Returns
Formatted string representation.
- Return type
class`str`
- __len__() int [source]¶
Return the number of children of the node.
- Returns
Number of children of the node.
- Return type
- is_root() bool [source]¶
Return whether the node is a root node.
- Returns
Whether the node is a root node.
- Return type
Examples
>>> node_a = Node('Node A') >>> node_b = Node('Node B', node_a) >>> node_c = Node('Node C', node_b) >>> node_a.is_root() True >>> node_b.is_root() False
- is_inner() bool [source]¶
Return whether the node is an inner node.
- Returns
Whether the node is an inner node.
- Return type
Examples
>>> node_a = Node('Node A') >>> node_b = Node('Node B', node_a) >>> node_c = Node('Node C', node_b) >>> node_a.is_inner() False >>> node_b.is_inner() True
- is_leaf() bool [source]¶
Return whether the node is a leaf node.
- Returns
Whether the node is a leaf node.
- Return type
Examples
>>> node_a = Node('Node A') >>> node_b = Node('Node B', node_a) >>> node_c = Node('Node C', node_b) >>> node_a.is_leaf() False >>> node_c.is_leaf() True
- walk(ascendants: bool = False) Generator [source]¶
Return a generator used to walk into
colour.utilities.Node
trees.- Parameters
ascendants (bool) – Whether to walk up the node tree.
- Yields
Generator – Node tree walker.
- Return type
Examples
>>> node_a = Node('Node A') >>> node_b = Node('Node B', node_a) >>> node_c = Node('Node C', node_a) >>> node_d = Node('Node D', node_b) >>> node_e = Node('Node E', node_b) >>> node_f = Node('Node F', node_d) >>> node_g = Node('Node G', node_f) >>> node_h = Node('Node H', node_g) >>> for node in node_a.walk(): ... print(node.name) Node B Node D Node F Node G Node H Node E Node C