Evy*_*vyn 5 python typing python-typing
如何创建一个 TypedDict 类,该类支持包含连字符或字符串中支持的其他字符的键,例如下面示例中的“justify-content”。
from typing import TypedDict, Literal
from typing_extensions import NotRequired
class Attributes(TypedDict):
width: NotRequired[str]
height: NotRequired[str]
direction: NotRequired[Literal["row", "column"]]
justify-content: NotRequired[Literal["start", "end", "center", "equally-spaced"]]
Run Code Online (Sandbox Code Playgroud)
可以使用函数语法:
from typing import TypedDict, Literal
from typing_extensions import NotRequired
Attributes = TypedDict(
"Attributes",
{
"width": NotRequired[
str,
],
"height": NotRequired[
str,
],
"direction": NotRequired[
Literal["row", "column"],
],
"justify-content": NotRequired[
Literal["start", "end", "center", "equally-spaced"]
],
},
)
Run Code Online (Sandbox Code Playgroud)
文档中提到了
当任何键不是有效标识符时,也应该使用函数语法,例如因为它们是关键字或包含连字符