ungrown
2019-03-14 13:46:48 +08:00
我是个菜鸟,我假设你是个老鸟,有些结论和经验你应该比我清楚,就算不清楚等我说完你也能立刻理解。
Python 作为一种动态类型、强类型语言,本身就倡导鸭子类型的设计理念,并不需要把数据的类型和结构定地特别死,自然也没必要在文档中不厌其烦地说太多。
如果对象的类型和内部结构非常复杂,比如是个列表,里面装了 dict,dict 里面又嵌套 dict,而且某些 key 还得是专门的字符串。这样复杂的对象本来就不太可能用简单的类型标注说清楚,还是老老实实在 docstring 里码字才是正道。
如果对象类型足够简单,你甚至连 docstring 都不需要表明类型,直接在参量名称上加点后缀都能表达清楚。
如果复杂度介于上述两者之间,我觉得用 pep484 可能会非常省事,针对某些情况。
而现实中上述三种情况彻底混作一团,那自然是具体问题具体分析。但又考虑到这点小事没必要花太多精力非要选择一个最佳方案,再考虑到团队代码风格可能有硬性要求,就更没必要在类型标注的方法选择这个问题上过于纠结。