class_docstr: Class providing the core functionality of a parameter, aka
  value, internal/model parameters, mutation, recombination
  and additional features such as shared random state,
  constraint check, hashes, generation and naming.
  The value field should sent to the function to optimize.
  
  Example
  -------
  >>> ng.p.Array(shape=(2,)).value
  array([0., 0.])
docstr: Creates a full copy of the parameter (with new unique uid).
  Use spawn_child instead to make sure to add the parenthood information.
docstr_tok: ["Creates","a","full","copy","of","the","parameter","(","with","new","unique","uid",")",".","Use","spawn_child","instead","to","make","sure","to","add","the","parenthood","information","."]
code: def copy(self: P) -> P:
      """Creates a full copy of the parameter (with new unique uid).
      Use spawn_child instead to make sure to add the parenthood information.
      """
      child = super().copy()
      child.uid = uuid.uuid4().hex
      child._frozen = False
      child._subobjects = self._subobjects.new(child)
      child._meta = {}
      child.tabu_length = self.tabu_length
      child.parents_uids = list(self.parents_uids)
      child.heritage = dict(self.heritage)
      child.loss = None
      child._losses = None
      child._constraint_checkers = list(self._constraint_checkers)
      # layers
      if self is not self._layers[0]:
          raise errors.NevergradRuntimeError(
              "Something has gone horribly wrong with the layers"
          )
      # subparameters
      attribute = self._subobjects.attribute
      container = getattr(child, attribute)
      if (
          attribute != "__dict__"
      ):  # make a copy of the container if different from __dict__
          container = (
              dict(container)
              if isinstance(container, dict)
              else list(container)
          )
          setattr(child, attribute, container)
      for key, val in self._subobjects.items():
          container[key] = val.copy()
      del child.value  # clear cache
      return child
  
imports: import uuid
  import warnings
  import numpy
  import nevergrad.common.typing
  from nevergrad.common import errors
  from .None import utils
  from ._layering import ValueProperty
  from ._layering import Layered
  from ._layering import Level
label_desc: Use image node_id 25 for calling the Parameter obj's underlying member method code with example usage: obj.copy() and returns: child