如何让 mypy 忽略内部(私有)方法上的 no-untyped-def 错误

问题描述 投票:0回答:1

我将 mypy 与

disallow-untyped-defs
标志一起使用,因此当我创建一个参数或返回上没有类型注释的方法时,它会抱怨 (
error: Function is missing a type annotation  [no-untyped-def]
)。

这通常就是我想要的。我想确保所有公共方法都有类型注释,但我不想对内部方法(以一两个前导下划线开头的方法)严格要求。如何让 mypy 忽略内部方法?

示例:

def foo(a, b):
  return a + b

def _bar(a, b):
  return a + b

def __baz(a, b):
  return a + b

mypy --disallow-untyped-defs --check-untyped-defs <module_name>

当前输出:[no-untyped-def] 所有三种方法都缺少类型注释错误。

所需的输出:仅在

foo
方法上出现错误。

python type-hinting mypy
1个回答
0
投票

我想你正在寻找

# type: ignore[no-untyped-def]

在你的例子中:

def foo(a, b):
  return a + b

def _bar(a, b): # type: ignore[no-untyped-def]
  return a + b

def __baz(a, b): # type: ignore[no-untyped-def]
  return a + b

© www.soinside.com 2019 - 2024. All rights reserved.