来自特定类/枚举的特定类型变量的Python类型提示

问题描述

假设我有一个具有以下两个变量的类:

class MyClass:
    FOO: str = "simple string 1"
    BAR: str = "simple string 2"

def myFunc(data: MyClass) -> MyClass:
    ...

我想编写一个函数myFunc(),该函数接受MyClass中的一个变量(例如:FOO)并返回MyClass的一个变量(例如: BAR)。我知道我想要传递给该函数的东西-我知道这些变量的类型-因此该函数类型提示也可以写为:

def myFunc(data: str) -> str:
    ...

这里的问题是-尽管类型检查器对此感到满意-用户丢失了可能值是什么的重要信息。我想要的是用户知道只能在该函数中传递字符串,但必须来自特定的类-在这种情况下,我希望用户从类str传递一个MyClass值。>

def myFunc(data: SomeTypeHintSyntax[str,MyClass]) -> SomeTypeHintSyntax[str,MyClass]:
    ...

问:是否有一种简单的方法来告诉用户data类型的str来自何处?

如果类型提示建议data来自Myclass,则用户可以使用IDE通过以下方式传递可能的值:

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...