【发布时间】:2019-04-26 14:30:30
【问题描述】:
我想允许使用 Python 3 进行类型提示以接受作为给定类的子级的实例。我正在使用强制模块来检查函数类型。例如:
import abc
class A(metaclass=abc.ABCMeta)
pass
class B(A)
def __init__(self,a)
self.a = a
pass
x = B(3)
@enforce.runtime_validation
def function(x:A)
print(x.a)
但似乎 python 3 不允许这种语法,返回:
参数 'x' 不是
类型。实际类型是 B。
有什么帮助吗?
【问题讨论】:
-
Python 本身没有意见,我认为。这条消息是来自 mypy 还是其他什么?
-
@brunns 不,我正在使用enforce
-
@James 我认为这是另一种情况,在您引用的问题中,他们正在寻找接受子类的函数,我想改用实例。 A的子类的一个实例
-
您能否更新问题,说是强制执行给您的信息?
标签: python class instance type-hinting