比如说:
import numpy as np
class Person:
name: str
age: int
hobbies: np.ndarray
person = Person()
person.age = "12" # raise TypeMismatched exception
Github 上面找到几个在 Python3 测试一下然而并不能用。现在开发 debug 中遇到的 10 个 需要呕心沥血 debug 的中有 9 个都是因为类型问题,镶嵌类型尤其难搞。def 虽然有 type hints,但是函数过多时会封装成这样:
class Params:
param1 = 'hello'
param2 = '...'
...
param7 = '...'
所以为了保持代码干净,最好还是在 class 里加入类型的检查。大家除了 IDE、眼球 parse 和记忆力还有什么好办法?