【发布时间】:2020-01-07 19:31:22
【问题描述】:
我有类似的东西:
from typing import Type
class Foo:
pass
def make_a_foobar_class(foo_class: Type[Foo]) -> Type[Foo]:
class FooBar(foo_class):
# this.py:10: error: Variable "foo_class" is not valid as a type
# this.py:10: error: Invalid base class "foo_class"
pass
return FooBar
print(make_a_foobar_class(Foo)())
运行mypy 会在class FooBar(foo_class): 行抛出这两个错误(添加为cmets ^)
代码似乎运行良好:
$ python this.py
<__main__.make_a_foobar_class.<locals>.FooBar object at 0x10a422be0>
我做错了什么?
【问题讨论】:
-
我不了解所有细节,无法解释,但这似乎相关:github.com/python/mypy/issues/5865
标签: python-3.x mypy python-typing