【发布时间】:2017-12-04 13:31:45
【问题描述】:
我在让 mypy 接受类型对象时遇到了一些麻烦。我是 确信我只是做错了,但到目前为止我的谷歌搜索并没有让我得到任何答案。
class Good(object):
a = 1
def works(thing: Good):
print(thing.a)
o = Good()
works(o)
Bad = type('Bad', (object, ), dict(a=1))
def fails_mypy(thing: Bad):
print(thing.a)
s = Bad()
fails_mypy(s)
像'Good'这样构造的东西是可以的,而像'Bad'这样构造的东西却通过以下方式使mypy检查失败:
error: Invalid type "test.Bad"
error: Bad? has no attribute "a"
【问题讨论】:
标签: python python-3.x types python-3.6 mypy