Optionen
class qiskit.providers.Options(**kwargs)
Basen: Mapping
Objekt Basisoptionen
Diese Klasse ist die Grundlage für alle Backend-Optionen. Die Eigenschaften der Klasse sollen alle dynamisch anpassbar sein, so dass ein Benutzer das Backend bei Bedarf neu konfigurieren kann. Wenn eine Eigenschaft für den Benutzer unveränderlich ist (z.B. so etwas wie die Anzahl der Qubits), sollte dies eine Konfiguration der Backend-Klasse selbst sein und nicht der Optionen.
Instanzen dieser Klasse verhalten sich wie Wörterbücher. Der Zugriff auf eine Option mit einem Standardwert kann mit der Methode get() erfolgen:
>>> options = Options(opt1=1, opt2=2)
>>> options.get("opt1")
1
>>> options.get("opt3", default="hello")
'hello'Schlüssel-Wert-Paare für alle Optionen können mit der Methode items() abgerufen werden:
>>> list(options.items())
[('opt1', 1), ('opt2', 2)]Optionen können nach Namen aktualisiert werden:
>>> options["opt1"] = 3
>>> options.get("opt1")
3Laufzeitvalidierer können registriert werden. Siehe set_validator. Bei Aktualisierungen durch update_options und indexing (__setitem__) wird der neue Wert vor der Durchführung der Aktualisierung überprüft und ValueError angezeigt, wenn der neue Wert ungültig ist.
>>> options.set_validator("opt1", (1, 5))
>>> options["opt1"] = 4
>>> options["opt1"]
4
>>> options["opt1"] = 10
Traceback (most recent call last):
...
ValueError: ...Attribute
validator
Methoden
get
get(k[, d]) → D[k] if k in D, else d. d defaults to None.
items
items() → a set-like object providing a view on D's items
keys
keys() → a set-like object providing a view on D's keys
set_validator
set_validator(field, validator_value)
Setzen Sie einen optionalen Validator für ein Feld in den Optionen
Das Setzen eines Validators ermöglicht es, Änderungen an Optionswerten auf ihre Korrektheit zu überprüfen, wenn update_options() aufgerufen wird. Wenn Sie zum Beispiel ein numerisches Feld wie shots haben, können Sie ein Bounds-Tupel angeben, das eine obere und untere Grenze für den Wert festlegt, z. B:
options.set_validator("shots", (1, 4096))In diesem Fall wird jedes Mal, wenn die Option "shots" vom Benutzer aktualisiert wird, erzwungen, dass der Wert >=1 und <=4096 ist. Liegt er außerhalb dieser Grenzen, wird eine ValueError angezeigt. Wenn für das angegebene Feld bereits ein Validator vorhanden ist, wird dieser stillschweigend außer Kraft gesetzt.
Parameter
- field (str) – Der Name des Feldes, für das die Gültigkeitsprüfung gelten soll
- validator_value (list ortuple ortype) – Der je nach Typ für den Validator zu verwendende Wert gibt an, wie der Wert für ein Feld durchgesetzt wird. Wenn ein Tupel übergeben wird, muss es eine Länge von zwei haben und sorgt dafür, dass bei einer Option für einen Integer- oder Float-Wert der Mindest- und Höchstwert (einschließlich) eingehalten werden. Wenn es sich um eine Liste handelt, werden die gültigen Werte für ein Feld aufgelistet. In diesem Fall stellt
typeder Validator lediglich sicher, dass der Wert einem bestimmten Typ entspricht.
*Erhebt sich
- KeyError - Wenn das Feld im Optionsobjekt nicht vorhanden ist
- ValueError - Wenn die
validator_valueeinen ungültigen Wert für einen bestimmten Typ hat - TypeError - Wenn
validator_valuekein gültiger Typ ist
update_options
values
values() → an object providing a view on D's values