python - mypy 有什么方法可以支持函数内的实例检查吗?
问题描述
有什么方法可以支持从函数内mypy
进行实例检查?
我知道对复杂类型检查isinstance
的支持。出于说明目的,我将以下模块作为最小示例:
from typing import Any, Union
def is_str(argument: Any) -> bool:
return True if isinstance(argument, str) else False
def my_string_function(input_str: str):
print(input_str)
def my_string_and_int_function(argument: Union[str, int]):
if is_str(argument):
my_string_function(argument)
if isinstance(argument, str):
my_string_function(argument)
现在,如果我运行 mypy,我会在以下第一个(不是第二个!)函数调用中my_string_function
收到以下错误my_string_and_int_function
:
错误:“my_string_function”的参数 1 具有不兼容的类型“Union[str, int]”;预期的“str”
也许这更适合 mypy 问题跟踪器,但我不确定我是否想先在此处发布。
解决方案
推荐阅读
- ios - 在通知扩展中将图像设置为数据
- css - 在 Github 页面部署 React - 加载资源失败:服务器响应状态为 404
- java - 具有继承性的 Mapstruct 映射器
- java - 应用程序无法连接到 dockerized Rabbitmq 服务
- websphere - 您可以使用 Datapower 根据用户 IP 地址将传入流量路由到不同的应用程序服务器吗
- sql - ORACLE 访问 PRODUCT_USER_PROFILE
- r - 如何使用“stat_cor”函数更改 p.value 的大小?
- java - 动态搜索后 JTable id 重置
- ios - 快速创建自定义形状的按钮
- linux - 在终端中获取上一个命令的第一个单词的快捷方式