我正在尝试使用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:错误:“命名空间”没有属性“dev”
我的假设是,Namespace类的attritubes是动态创建的,因此mypy
无法检测到它们?在用setattr(args, 'dev', True)
替换最后一行后,我能够获得此错误消息,但这看起来不正确......有人可以帮我理解这个问题吗?我使用的是Python 3.6.1。