Python 使用类型检查检查字符串是否仅具有某些值

Python 使用类型检查检查字符串是否仅具有某些值,python,python-3.x,python-typing,Python,Python 3.x,Python Typing,假设我有一个python函数def func_AB(param1:str)param1只能接受值A或B。如果它采用任何其他字符串值,则会出现错误 发生这种情况时,是否可以使用python类型检查来给出错误?目前,我使用assert检查param1是否包含有效的字符串值 我正在使用您正在寻找的python 3.8.5 你在找什么 如果您被限制为只有几个有效值,为什么不使用字符串来代替呢?如果您正在查看两个可能的有效值,那么您并不是真正的类型检查@Green Clope Guy,这一点很好。我问了一

假设我有一个python函数
def func_AB(param1:str)
param1
只能接受值
A
B
。如果它采用任何其他字符串值,则会出现错误

发生这种情况时,是否可以使用python类型检查来给出错误?目前,我使用
assert
检查
param1
是否包含有效的字符串值

我正在使用您正在寻找的python 3.8.5

你在找什么


如果您被限制为只有几个有效值,为什么不使用字符串来代替呢?如果您正在查看两个可能的有效值,那么您并不是真正的类型检查@Green Clope Guy,这一点很好。我问了一个愚蠢的问题。一开始就错了。类型检查用于检查
类型
,而不是
。此外,类型检查仅由IDE强制执行。python并不强制执行类型检查。如果您仅限于几个有效值,为什么不使用字符串来代替呢?如果您正在查看两个可能的有效值,那么您并不是真正的类型检查@Green Clope Guy,这一点很好。我问了一个愚蠢的问题。一开始就错了。类型检查用于检查
类型
,而不是
。此外,类型检查仅由IDE强制执行。python并不强制执行类型检查。你太棒了。根据这些评论,我认为不存在答案。我希望我能给你更多的分数。哈哈,你太棒了。根据这些评论,我认为不存在答案。我希望我能给你更多的分数。哈哈。
from typing import Literal

def func_AB(param1: Literal['A', 'B']):
    ...