检查字符串是否为字符串文字类型

时间:2020-04-11 01:01:10

标签: python types typing typechecking

我们广泛使用静态类型检查,但是我们还需要一些简单的运行时类型检查。我很乐意使用我们的静态类型进行运行时类型检查。我见过Typeguard和其他库,但我希望有一些简单的方法。

我在下面尝试过,但是assert value in expected_type没有任何意义。如何创建一个简单的函数来检查字符串是否在Python字符串文字中?

from typing_extensions import Literal

def check_str_in_literal(value: str, expected_type: Literal):
    assert value in expected_type

Gender = Literal["Male", "Female", "Other"]
def print_gender(gender: Gender):
    print(gender)

# Unknown string as it's been retrieved from elsewhere
strRetrievedFromDB = "Male"  # type: ignore

check_str_in_literal(strRetrievedFromDB, Gender)
print_gender(strRetrievedFromDB)

0 个答案:

没有答案