5

我正在尝试mypy用于类型注释。我写了一个简单的test.py

import argparse

args = None
parser = argparse.ArgumentParser()
parser.add_argument('--dev', '-d', action='store_true', required=False)
args = parser.parse_args()

args.dev = True

运行后mypy test.py,出现错误:

test.py:8:错误:“命名空间”没有属性“开发”

我的假设是 Namespace 类的属性是动态创建的,因此它们无法被mypy? 替换最后一行后,我可以解决此错误消息,setattr(args, 'dev', True)但这看起来不正确...有人可以帮我理解这个问题吗?我正在使用 Python 3.6.1。

4

0 回答 0