---
title: Operation (v1.0)
description: API reference for qiskit.circuit.Operation in qiskit v1.0
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/1.0/qiskit.circuit.Operation
---

# Operation

*class* `qiskit.circuit.Operation`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/circuit/operation.py#L18-L62)

Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC)

Quantum Operation Interface Class. For objects that can be added to a [`QuantumCircuit`](/docs/api/qiskit/1.0/qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). These objects include [`Gate`](/docs/api/qiskit/1.0/qiskit.circuit.Gate "qiskit.circuit.Gate"), `Reset`, `Barrier`, `Measure`, and operators such as [`Clifford`](/docs/api/qiskit/1.0/qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford"). The main purpose is to add an [`Operation`](#qiskit.circuit.Operation "qiskit.circuit.Operation") to a [`QuantumCircuit`](/docs/api/qiskit/1.0/qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") without synthesizing it before the transpilation.

**Example**

Add a Clifford and a Toffoli gate to a QuantumCircuit.

```python
from qiskit import QuantumCircuit
from qiskit.quantum_info import Clifford, random_clifford

qc = QuantumCircuit(3)
cliff = random_clifford(2)
qc.append(cliff, [0, 1])
qc.ccx(0, 1, 2)
qc.draw('mpl')
```

![../\_images/qiskit-circuit-Operation-1.png](https://eu-de.quantum.cloud.ibm.com/docs/images/api/qiskit/1.0/qiskit-circuit-Operation-1.avif)

## Attributes

### name

Unique string identifier for operation type.

### num\_clbits

Number of classical bits.

### num\_qubits

Number of qubits.
