Skip to content

← programming package

Copy

Make a shallow or deep copy of an object.

For objects that contain other objects (e.g., items in a list or dict, nodes in a graph, chunks in a packet, etc), there are two ways to copy the object. One is to make an independent copy of both the object and its contained items, and their contained items etc (deep copy). The other is to make an independent copy of the object, but to share the contained items with the original (shallow copy). Deep copies are slower than shallow copies, but easier to reason about. Shallow copies are faster, but can lead to subtle bugs if the contained items are referenced by multiple objects (perhaps unintentionally) and are modified in one of them. Version 1.0.0

Ports/Properties

data

Data to copy.

  • verbose name: Data
  • default value: None
  • port type: DataPort
  • value type: object (can be None)
  • data direction: INOUT

deep

Perform a deep copy. If set to False, a shallow copy is made wherein an independent copy of the object is made, but the object's contents (e.g., items in a list or dict, nodes in a graph, chunks in a packet etc) are shared with the original.

  • verbose name: Deep
  • default value: True
  • port type: BoolPort
  • value type: bool (can be None)

set_breakpoint

Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

  • verbose name: Set Breakpoint (Debug Only)
  • default value: False
  • port type: BoolPort
  • value type: bool (can be None)

metadata

User-definable meta-data associated with the node. Usually reserved for technical purposes.

  • verbose name: Metadata
  • default value: {}
  • port type: DictPort
  • value type: dict (can be None)