オプション
class qiskit.providers.Options(**kwargs)
ベース: Mapping
ベース・オプション・オブジェクト
このクラスは、すべてのバックエンドオプションのベースとなるものです。 クラスのプロパティは、ユーザーが必要に応じてバックエンドを再構成できるように、すべて動的に調整できるように意図されている。 もし、あるプロパティがユーザーにとって不変のもの(例えば、量子ビット数のようなもの)であるならば、それはオプションの代わりにバックエンド・クラス自体の設定であるべきだ。
このクラスのインスタンスは辞書のように振る舞う。 デフォルト値を持つオプションにアクセスするには get() メソッドを使用します:
>>> options = Options(opt1=1, opt2=2)
>>> options.get("opt1")
1
>>> options.get("opt3", default="hello")
'hello'すべてのオプションのキーと値のペアは、 items() メソッドを使用して取得できます:
>>> list(options.items())
[('opt1', 1), ('opt2', 2)]オプションは名前で更新できる:
>>> options["opt1"] = 3
>>> options.get("opt1")
3ランタイムバリデーターを登録することができる。 set_validator を参照のこと。 update_optionsとindexingによる更新(∕∕∕)は、更新を実行する 前に新しい値を検証し、新しい値が無効な場合は ValueError。
>>> options.set_validator("opt1", (1, 5))
>>> options["opt1"] = 4
>>> options["opt1"]
4
>>> options["opt1"] = 10
Traceback (most recent call last):
...
ValueError: ...属性
validator
方法
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)
オプションでフィールドにバリデータを設定する
バリデータを設定すると、オプションの値を変更したときに update_options() が呼ばれたときに、その変更が正しいかどうかを検証できるようになります。 例えば、 shots のような数値フィールドがある場合、次のように値の上限と下限を設定するboundsタプルを指定することができる:
options.set_validator("shots", (1, 4096))この場合、 "shots" オプションがユーザーによって更新されるたびに、その値が>=1かつ˶<=4096であることが強制される。 その範囲外であれば、 ValueError 。 指定したフィールドに対してすでにバリデータが存在する場合は、 そのバリデータはサイレントオーバーライドされます。
パラメーター
- field (str) – バリデータを設定するフィールド名
- validator_value (list ortuple ortype) – 型に応じてバリデータに指定する値は、フィールドの値がどのように強制されるかを示します。 タプルが渡される場合、その長さは2でなければならず、整数または浮動小数点数のオプションに対して、最小値と最大値(両端を含む)が強制されます。 リストの場合、そのフィールドの有効な値が一覧表示されます。 その場合、
typeバリデータは単にその値が特定の型であることを強制するだけです。
上昇する
- KeyError - フィールドがオプション・オブジェクトに存在しない場合
- ValueError -
validator_value、指定された型に対して無効な値を持つ場合 - TypeError -
validator_valueが有効な型でない場合
update_options
values
values() → an object providing a view on D's values