---
title: QuantumRegister (v0.46)
description: API reference for qiskit.circuit.QuantumRegister in qiskit v0.46
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/0.46/qiskit.circuit.QuantumRegister
---

# QuantumRegister

*class* `qiskit.circuit.QuantumRegister(size=None, name=None, bits=None)`

[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.46/qiskit/circuit/quantumregister.py)

Bases: [`Register`](/docs/api/qiskit/0.46/qiskit.circuit.Register "qiskit.circuit.register.Register")

Implement a quantum register.

Create a new generic register.

Either the `size` or the `bits` argument must be provided. If `size` is not None, the register will be pre-populated with bits of the correct type.

**Parameters**

- **size** ([*int*](https://docs.python.org/3/library/functions.html#int)) – Optional. The number of bits to include in the register.
- **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str)) – Optional. The name of the register. If not provided, a unique name will be auto-generated from the register type.
- **bits** ([*list*](https://docs.python.org/3/library/stdtypes.html#list)*\[*[*Bit*](/docs/api/qiskit/0.46/qiskit.circuit.Bit "qiskit.circuit.Bit")*]*) – Optional. A list of Bit() instances to be used to populate the register.

**Raises**

- [**CircuitError**](/docs/api/qiskit/0.46/circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if both the `size` and `bits` arguments are provided, or if neither are.
- [**CircuitError**](/docs/api/qiskit/0.46/circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if `size` is not valid.
- [**CircuitError**](/docs/api/qiskit/0.46/circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if `name` is not a valid name according to the OpenQASM spec.
- [**CircuitError**](/docs/api/qiskit/0.46/circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if `bits` contained duplicated bits.
- [**CircuitError**](/docs/api/qiskit/0.46/circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if `bits` contained bits of an incorrect type.

## Attributes

### instances\_counter

Default value: `count(6)`

### name

Get the register name.

### name\_format

Default value: `re.compile('[a-z][a-zA-Z0-9_]*')`

### prefix

Default value: `'q'`

### size

Get the register size.

## Methods

### index

`index(bit)`

Find the index of the provided bit within this register.

### qasm

`qasm()`

Return OPENQASM string for this register.

> **Deprecated since version 0.23.0**
>
> The method `qiskit.circuit.quantumregister.QuantumRegister.qasm()` is deprecated as of qiskit-terra 0.23.0. It will be removed in the Qiskit 1.0 release. Correct exporting to OpenQASM 2 is the responsibility of a larger exporter; it cannot safely be done on an object-by-object basis without context. No replacement will be provided, because the premise is wrong.
