Mr_*_*s_D 3 python type-hinting python-2.7
说我有
class A(dict): pass
Run Code Online (Sandbox Code Playgroud)
有没有办法指定 A 的键和值的类型?是否可以通过继承类型的方式来完成 - 所以class B(A)会继承例如 key 的类型值并且能够覆盖 value 的类型?
理想情况下,这将通过pep-0484 中引入的类型提示来完成- 但请注意,我使用的是 python 2,所以我需要一个带有类型注释的解决方案。然而,如果这是不可能的,则涉及元类或任何其他黑客的解决方案是可以接受的。
与您的类的所有类型交互都通过方法进行,因此请注释这些方法。A.__setitem__(self, key, value):被调用以设置键值对,并且可以进行注释以指示预期的类型。
任何有效的 PEP 484 注释都可以在这里完成,如果您需要 Python 2 兼容性,包括类型注释。
B除非 B 覆盖这些方法,否则这些注释将被继承。