無効な属性名で TypedDict を使う
原文は Alex O'Callaghan により に公開されました。 このブログを購読する
以前、TypedDict の値にジェネリック型を使用する方法について解説しましたが、TypedDict を使用する際に直面する別の課題として、キー名が有効な識別子ではないケースがあります。Python では、識別子(名前)に使用できる文字は制限されており、一般的には大文字・小文字のアルファベット A から Z、アンダースコア _、そして数字 0 から 9 です。
通常、TypedDict はクラスを定義して使用します:
from typing import TypedDict
class Book(TypedDict):
id: int
name: str
book: Book = {"id": 123, "name": "To Kill A Mockingbird"}しかし、この構文はキーの中に有効な識別子ではないものがある場合、たとえばピリオド . やハイフン - が含まれている場合には使えません:
from typing import TypedDict
class Book(TypedDict):
id: int
name: str
some-hyphen-field: str
field.dot: strこのような場合には、関数構文を使用できます:
from typing import TypedDict
Book = TypedDict(
'Book',
{
"id": int,
"name": str,
"some-hyphen-field": str,
"field.dot": str
}
)記事をランダムに読む
コメント
ログインしてコメントする