python3字符串选项提示

2024-04-20 10:38:32 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个函数,它的字符串参数对应于一个方法名:

def func(method: str):
    if method not in ('simple_method', 'some_other_method'):
        raise ValueError('Unknown method')

我可以添加所有可能支持的选项(字符串)作为这个参数的类型提示吗?例如,类似这样的东西(因为在键入时没有Str,所以不起作用):

^{pr2}$

Tags: 方法函数字符串in参数ifdefnot
1条回答
网友
1楼 · 发布于 2024-04-20 10:38:32

仅使用类型提示是不可能的,正确的方法应该是使用enums,如下所示:

from enum import Enum
class Color(Enum):
    RED = 1
    GREEN = 2
    BLUE = 3

一旦有了包含所有可能选项的枚举,就可以提示该函数,以便只接受自定义枚举。更多信息here

示例: 从输入import NewType

^{pr2}$

相关问题 更多 >