我正在尝试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。