微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用一组特定的值在 Python 中输入

如何解决如何使用一组特定的值在 Python 中输入

我需要指定一组特定的值作为我函数的预期返回类型。假设定义了一个名为 Scene 的类,它具有属性 name,它应该是一个只能以 "1K""2K""4K" 结尾的字符串.现在我想编写一个函数,该函数将此类作为参数并将其名称的最后 2 个字符作为字符串返回。有没有办法使用 Python 3.7.7 中的内置模块来指定此函数返回类型,例如一组精确的字符串值?像这样:

def scene_resolution(sc : Scene): -> any value in {'1K','2K','4K'}: # return type?
    res = sc.name[-2:]
    assert res in {'1K','4K'}
    return res

我知道使用 Literal from typing_extensions,但不幸的是它只适用于 Python 3.8 及更高版本,而我正在处理的软件的 API 使用 Python 3.7.7。我也试过用 enum.Enum 做一些事情,但无法正常工作。

您有什么建议吗?

UPD。 到目前为止,我发现的唯一方法是定义一些函数来返回我需要的集合并将其名称用作预期的返回类型。不确定这是否是正确的方法和良好的做法,但至少它有效。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。