Python类型提示——为dict子类指定key、value类型

标签 python python-2.7 type-hinting

说我有

class A(dict): pass

有没有办法指定 A 的键和值的类型?是否可以通过继承类型的方式来完成 - 这样 class B(A) 将继承键的类型值,并且能够覆盖值的类型?

理想情况下,这可以通过pep-0484中引入的类型提示来完成。 - 但请注意,我使用的是 python 2,所以我需要一个带有类型注释的解决方案。然而,如果这是不可能的,涉及元类或任何其他黑客的解决方案是可以接受的。

最佳答案

与类的所有类型交互都通过方法进行,因此请对这些方法进行注释。 A.__setitem__(self, key, value): 被调用用于设置键值对,并且可以通过注释来指示期望的类型。

任何有效的 PEP 484 注释都可以在此处执行,包括类型注释(如果您需要 Python 2 兼容性)。

除非 B 重写这些方法,否则这些注释将继承给 B

关于Python类型提示——为dict子类指定key、value类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36811192/

相关文章:

魔法对象中返回变量的 PhpStorm/PhpDoc 类型提示

python - 类型提示中的可选联合

Python:matplotlib 和 seaborn 之间共享比例

python - 将 Python 列表写入 csv 中的列

Python getattr() 成员或函数?

matlab - 如何通过Python获取3D彩色表面?

python - 在 Mac OS X 10.6.7、Python 2.7.1 上运行 Virtualenv 1.6 时

python / split : How to find and select an option on a site?

python - Google App Engine 上的批量加载程序 : Incorrect credentials or unsupported authentication type (e. g。打开ID)

python - 类型提示条件可变参数应用程序