※この翻訳ドキュメントはスクリプトによって出力・同期されています。内容が怪しそうな場合はGitHubにissueを追加したり英語の原文の確認をお願いします。
Dictionary クラス¶
このページではDictionary
クラスについて説明します。
事前に以下のページを確認しておくと読み進める上で役に立つかもしれません:
Dictionaryクラスの概要¶
Dictionary
クラスはapyscの辞書用のクラスです。ごのクラスはPythonビルトインのdict
の値のように動作します。
コンストラクタメソッド¶
Dictionary
のコンストラクタではPythonビルトインのdict
もしくはapyscのDictionary
の値を必要とします:
import apysc as ap
ap.Stage()
dict_1: ap.Dictionary = ap.Dictionary({"a": 10})
assert dict_1 == {"a": 10}
dict_2: ap.Dictionary = ap.Dictionary(dict_1)
assert dict_1 == dict_2
値のsetterのインターフェイス¶
Dictionary
の値はPythonのビルトインのdict
の値と同じようにインデックスを使って更新することができます:
import apysc as ap
ap.Stage()
dict_1: ap.Dictionary = ap.Dictionary({"a": 10})
dict_1["a"] = 20
assert dict_1 == {"a": 20}
値のgetterのインターフェイス¶
Dictionary
の値の取得も同様にインデックスを使って行うことができます:
import apysc as ap
ap.Stage()
int_1: ap.Int = ap.Int(10)
dict_1: ap.Dictionary = ap.Dictionary({"a": int_1})
int_2: ap.Int = dict_1["a"]
assert isinstance(int_2, ap.Int)
assert int_2 == 10
getterのインターフェイスの特記事項¶
もしもDictionary
の値が指定されたキーを持たない場合、取り出される値はAnyValue
型の値となります。この挙動はJavaScript上でのハンドラでの動的な更新処理などを使う際に便利な時があります。
import apysc as ap
ap.Stage()
int_1: ap.Int = ap.Int(10)
dict_1: ap.Dictionary = ap.Dictionary({"a": int_1})
retrieved_val: ap.AnyValue = dict_1["b"]
assert isinstance(retrieved_val, ap.AnyValue)
値の削除のインターフェイス¶
Dictionary
の値は以下のコード例のようにdel
ステートメントで削除することができます。
import apysc as ap
ap.Stage()
int_1: ap.Int = ap.Int(10)
dict_1: ap.Dictionary = ap.Dictionary({"a": int_1})
del dict_1["a"]
assert dict_1 == {}
Dictionary クラスのコンストラクタのAPI¶
特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。
[インターフェイスの構造] __init__(self, value: Union[Dict[~_Key, ~_Value], ForwardRef('Dictionary')], *, variable_name_suffix: str = '', skip_init_substitution_expression_appending: bool = False) -> None
[インターフェイス概要]
apyscライブラリのための辞書のクラスです。
[引数]
value
: dict or Dictionary辞書の初期値。
variable_name_suffix
: str, default “”JavaScript上の変数のサフィックスの設定です。この設定はJavaScriptのデバッグ時に役立つことがあります。
skip_init_substitution_expression_appending
: bool, default False初期値の代入のコード表現をスキップするかどうかの真偽値です。このオプションはクラス内部の実装で使用されます。
[コードサンプル]
>>> import apysc as ap
>>> _ = ap.Stage()
>>> dictionary: ap.Dictionary = ap.Dictionary({"a": 10})
>>> dictionary
Dictionary({'a': 10})
>>> dictionary["a"]
10
>>> dictionary["b"] = 20
>>> dictionary["b"]
20
[関連資料]
value 属性のAPI¶
特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。
[インターフェイス概要]
現在の辞書の値を取得します。
[返却値]
value
: dict現在の辞書の値。
[コードサンプル]
>>> import apysc as ap
>>> _ = ap.Stage()
>>> dictionary: ap.Dictionary = ap.Dictionary({})
>>> dictionary.value = {"a": 10}
>>> dictionary.value
{'a': 10}
[関連資料]