我有一个示例函数:
from typing import Dict
def cool_func(foo: Dict[object, str], bar: bool, baz: float) -> None:
foo_type_error_msg = "foo must be a Dict[object, str]"
if not foo.isinstance(dict):
raise TypeError(foo_type_error_msg)
for s in foo.values():
if not s.isinstance(str):
raise TypeError(foo_type_error_msg)
# the rest of the function
如何使用类型提示中指定的类型在运行时检查变量?请注意,我不想严格限制其他变量(只需检查foo
参数)即可。
如果您想知道,我想强制使用该类型,以使错误(由错误的Type引起)不会出现在the rest of the function
中的某个位置,并使用户混淆默认错误消息。
我希望我可以有这样的东西:
def cool_func(foo: Dict[object, str], bar: bool, baz: float) -> None:
check_type('foo')
# the rest of the function
或至少
def cool_func(foo: Dict[object, str], bar: bool, baz: float) -> None:
check_type(foo, 'Dict[object, str]')
# the rest of the function