为什么PyCharm未触发Python Type Hints类型校验报错提示?
def get_name_with_age(name: str, age: int) -> str: name_with_age = name + " is this old: " + age return 10
上述代码本身确实存在两处类型错误:一是+操作符两侧分别为字符串和整数类型,不能直接拼接;二是函数声明返回值为str类型,但实际返回了int类型的10。PyCharm没有给出警告有以下几个常见原因,对应解决方法如下:
- 未开启PyCharm内置类型检查功能
打开PyCharm设置,依次进入编辑器 → 检查 → Python → 类型检查器,确认勾选「类型检查器」选项,同时确认返回值类型不匹配、操作数类型不匹配这类问题的告警级别没有被设置为「无」。 - 开启了省电模式
查看PyCharm右下角状态栏,如果省电模式处于开启状态,点击关闭即可。省电模式会禁用所有后台代码检查功能,类型提示警告也会被默认关闭。 - 当前文件/目录被加入类型检查排除列表
在类型检查器的设置页面,查看「排除」列表,确认你当前编辑的代码文件没有被加入排除范围。 - 项目Python解释器配置异常
确认当前项目绑定的Python解释器路径正确,没有出现识别失效的情况。可以在文件 → 设置 → 项目: 你的项目名 → Python解释器中检查配置,识别异常的解释器会标红提示。 - 文件类型识别错误
确认当前编辑的文件后缀为.py,没有被PyCharm错误识别为纯文本或其他类型文件。如果识别错误,可以在编辑器 → 文件类型中调整Python文件的关联规则。
内容的提问来源于stack exchange,提问作者Ben
相关产品推荐
相关产品推荐

