cirq.num_qubits(val: Any, default: TDefault = - 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) → Union[int, TDefault][source]

Returns the number of qubits, qudits, or qids val operates on.

  • val – The value to get the number of qubits from.

  • default – Determines the fallback behavior when val doesn’t have a number of qubits. If default is not set, a TypeError is raised. If default is set to a value, that value is returned.


If val has a _num_qubits_ method and its result is not NotImplemented, that result is returned. Otherwise, if val has a _qid_shape_ method, the number of qubits is computed from the length of the shape and returned e.g. len(shape). If neither method returns a value other than NotImplemented and a default value was specified, the default value is returned.


TypeErrorval doesn’t have either a _num_qubits_ or a _qid_shape_ method (or they returned NotImplemented) and also no default value was specified.