gpt4 book ai didi

python - 判断对象是否为 typing.Literal 类型

转载 作者:行者123 更新时间:2023-12-05 05:48:44 24 4
gpt4 key购买 nike

我需要检查对象是否是 typing.Literal 的后代,我有这样的注释:

GameState: Literal['start', 'stop']

我需要检查 GameState 注释类型:

def parse_values(ann)
if isinstance(ann, str):
# do sth
if isinstance(ann, int):
# do sth
if isinstance(ann, Literal):
# do sth

但它会导致错误,所以我将最后一个交换为:

if type(ann) == Literal:
# do sth

但它永远不会返回 True,所以有人知道解决这个问题的方法吗?

最佳答案

typing.get_origin() 为 Literal descendandts 返回 Literal,所以我基本上需要的是

if get_origin(GameState) == Literal:
# do sth

关于python - 判断对象是否为 typing.Literal 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70771319/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com