class_docstr: Encodes :math:`n` binary features into a basis state of :math:`n` qubits.
  
  For example, for ``features=np.array([0, 1, 0])`` or ``features=2`` (binary 10), the
  quantum system will be prepared in state :math:`|010 \rangle`.
  
  .. warning::
  
      ``BasisEmbedding`` calls a circuit whose architecture depends on the binary features.
      The ``features`` argument is therefore not differentiable when using the template, and
      gradients with respect to the argument cannot be computed by PennyLane.
  
  Args:
      features (tensor_like): binary input of shape ``(len(wires), )``
      wires (Any or Iterable[Any]): wires that the template acts on
  
  Example:
  
      Basis embedding encodes the binary feature vector into a basis state.
  
      .. code-block:: python
  
          dev = qml.device('default.qubit', wires=3)
  
          @qml.qnode(dev)
          def circuit(feature_vector):
              qml.BasisEmbedding(features=feature_vector, wires=range(3))
              return qml.state()
  
          X = [1,1,1]
  
      The resulting circuit is:
  
      >>> print(qml.draw(circuit, expansion_strategy="device")(X))
      0: ──X─┤  State
      1: ──X─┤  State
      2: ──X─┤  State
  
      And, the output state is:
  
      >>> print(circuit(X))
          [0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j 1.+0.j]
  
      Thus, ``[1,1,1]`` is mapped to :math:`|111 \rangle`.
code: def num_params(self):
      return 0
  
file_path: pennylane/pennylane/templates/embeddings/basis.py
imports: import numpy
  import pennylane
  from pennylane.operation import Operation, AnyWires
  from pennylane.wires import Wires
label_desc: Use image node_id 4 for calling the BasisEmbedding obj's underlying member method code with example usage: obj.num_params() and returns: int