Opzioni
class qiskit.providers.Options(**kwargs)
Basi: Mapping
Oggetto Opzioni di base
Questa classe è quella su cui si basano tutte le opzioni del backend. Le proprietà della classe devono essere tutte regolabili dinamicamente, in modo che l'utente possa riconfigurare il backend su richiesta. Se una proprietà è immutabile per l'utente (ad esempio, qualcosa come il numero di qubit), dovrebbe essere una configurazione della classe backend stessa, invece che delle opzioni.
Le istanze di questa classe si comportano come dizionari. L'accesso a un'opzione con un valore predefinito può essere effettuato con il metodo get():
>>> options = Options(opt1=1, opt2=2)
>>> options.get("opt1")
1
>>> options.get("opt3", default="hello")
'hello'Le coppie chiave-valore per tutte le opzioni possono essere recuperate con il metodo items():
>>> list(options.items())
[('opt1', 1), ('opt2', 2)]Le opzioni possono essere aggiornate per nome:
>>> options["opt1"] = 3
>>> options.get("opt1")
3È possibile registrare i validatori di runtime. Vedere set_validator. Gli aggiornamenti tramite update_options e l'indicizzazione (_setitem_) convalidano il nuovo valore prima di eseguire l'aggiornamento e sollevano ValueError se il nuovo valore non è valido.
>>> options.set_validator("opt1", (1, 5))
>>> options["opt1"] = 4
>>> options["opt1"]
4
>>> options["opt1"] = 10
Traceback (most recent call last):
...
ValueError: ...Attributi
validator
Metodi
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)
Impostare un validatore opzionale per un campo nelle opzioni
L'impostazione di un validatore consente di convalidare la correttezza delle modifiche apportate ai valori di un'opzione quando viene richiamato il metodo update_options() viene richiamato. Ad esempio, se si ha un campo numerico come shots , si può specificare una tupla di limiti che imposta un limite superiore e inferiore al valore, come ad esempio:
options.set_validator("shots", (1, 4096))In questo caso, ogni volta che l'opzione "shots" viene aggiornata dall'utente, verrà richiesto che il valore sia >=1 e <=4096. Se si trova al di fuori di questi limiti, verrà sollevato un ValueError . Se per il campo specificato è già presente un validatore, questo verrà silenziosamente sovrascritto.
Parametri
- field (str) – Il nome del campo su cui impostare il validatore
- validator_value (list ortuple ortype) – Il valore da utilizzare per il validatore, a seconda del tipo, determina le modalità di verifica del valore di un campo. Se viene passato un tuple, questo deve avere una lunghezza pari a due e imporrà i valori minimo e massimo (inclusi) per un'opzione di tipo intero o float. Se si tratta di un elenco, verranno elencati i valori validi per un campo. In tal caso,
typeil validatore si limiterà a verificare che il valore sia di un determinato tipo.
Alza
- KeyError - Se il campo non è presente nell'oggetto opzioni
- ValueError - Se il sito
validator_valueha un valore non valido per un dato tipo - TypeError - Se
validator_valuenon è un tipo valido
update_options
values
values() → an object providing a view on D's values