1
nightwitch 2020-06-27 22:31:06 +08:00
写起来也方便点啊。 假如你确定下面这个函数只接收字符串,当然最好加上。不加的话,编辑器没法推断 s 的类型,也没法给出更好的补全提示。
def process_string(s): return s.do_something() |
2
szzhiyang 2020-06-27 23:10:18 +08:00
可以参考我之前发的两个帖子下的讨论:
《同是静态类型检查,为什么 Python 圈对 Type Hints 的重视程度明显不及前端圈对 TypeScript 的重视程度?》 t/606977 《大家是如何实时检查 Python 变量类型的?》 t/602617 |
3
szzhiyang 2020-06-27 23:11:18 +08:00
可以参考我之前发的两个帖子下的讨论:
《同是静态类型检查,为什么 Python 圈对 Type Hints 的重视程度明显不及前端圈对 TypeScript 的重视程度?》 https://www.v2ex.com/t/606977 《大家是如何实时检查 Python 变量类型的?》 https://www.v2ex.com/t/602617 |
5
fhsan 2020-06-28 09:58:06 +08:00
写文档和类型检查必须的啊,项目大了多了,一个负责几个系统,前后端,
如果每次都靠运行才能知道参数和返回值是什么样的,那不得累死 |
6
ungrown 2020-06-28 10:21:26 +08:00
其实你一上来就相当准确地概括了当前阶段类型提示的意义和价值:提示(废话,拖走……
提示开发者,提示用户,提示 IDE 软件,比如 pycharm 和 pycharm 用户们就确确实实能从 typing 获益匪浅。 至于性能,提示只是提示,动态类型还是动态类型,运行时类型检测该绕不开还是绕不开,肥胖且非线性的数据结构导致的 CPU 缓存命中该 miss 还是 miss 。 cpython 的性能就这么回事了,高 IO 应用基本不拖后腿,高 CPU 应用肯定拖后腿,如果这后腿拖不起的话就老老实实写 C 扩展。说白了要性能就得放弃动态类型嘛,反正有 cython,改静态类型也不难。 说回 typing,typing 就是通过提示来强化开发和使用的体验的。 至于 typing 的学习成本,反正我都是现用现查现学现封装现扔的,我觉得大家也可以这么弄。 |
8
wuwukai007 2020-06-28 18:59:50 +08:00
多人项目 用,自己项目真的懒得写,实话
|
9
yzk66880 OP @wuwukai007 hhhh 真相
|