大家现在写 Python , 用类型注解吗

2024-04-24 16:57:32 +08:00
 iorilu

想了解下看看, 可以是几种情况

我现在也就是第二种把, 想起来就用一点 , 也没强制整个项目都用,现在想要不要升级下, 更严格一点呢

5357 次点击
所在节点    Python
57 条回复
qs
2024-04-24 17:09:35 +08:00
第三种吧,对于一些没注解的第三方函数会给变量加注解
gray0
2024-04-24 17:22:09 +08:00
函数入参/返回值
ZXiangQAQ
2024-04-24 17:51:59 +08:00
入参、出参会注解一下,反正以前也要写 docstring ,直接写注解 docstring 就不需要写类型了,挺方便的
NoOneNoBody
2024-04-24 17:56:11 +08:00
能用就用,主要是 pyright 跟踪比较方便
但 Union 这种就不想写了,还要 import
vicalloy
2024-04-24 17:56:28 +08:00
函数都写,变量不一定。
加了注解后 IDE 更智能,而且配合 mypy 可以检查出不少问题。
Hopetree
2024-04-24 17:58:46 +08:00
说实话,很浪费时间,虽然严谨一点,但是很影响效率。如果是公司的项目有要求,我会写,但是自己的项目绝对不写,Python 的优势本来就是灵活、快
XiaoyehuaDev
2024-04-24 18:01:41 +08:00
第三种
786375312123
2024-04-24 18:06:00 +08:00
如果想要类型安全,为什么不直接用静态类型语言
jqtmviyu
2024-04-24 18:11:23 +08:00
最好函数入参返回都写.

在别人的开源项目上加功能. 结果函数名写的复数, 入参既有 str 又有 list, 难绷.
inhzus
2024-04-24 18:11:25 +08:00
intelligence 不能推导出类型的就写
VforVendetta
2024-04-24 18:12:02 +08:00
自己的项目第二种,公司项目第四种
leonshaw
2024-04-24 18:19:37 +08:00
放弃了,根本写不明白,Union 满天飞,Dict 里面到底是啥,各种 Callable ,更别提 *, ** 的转发了。
iorilu
2024-04-24 18:21:14 +08:00
@Hopetree 这个就是个平衡

写代码时候麻烦点, 为的是以后减少错误, 或 debug 等等耽误的时间, 所以如何平衡也是个人的方式
Muniesa
2024-04-24 18:22:46 +08:00
想起来就写,主要是为了 IDE 的自动补全
Nich0la5
2024-04-24 18:45:44 +08:00
用 不用过两天就忘了自己写了个啥了
djangovcps
2024-04-24 18:48:19 +08:00
很难想象多层复合类对象,类中的属性又是其他的类对象,其他类对象又引用了别的对象,不用类型注解写代码没有联想的痛苦
yanyao233
2024-04-24 18:58:29 +08:00
用,并且配合 pydantic ,简直爽歪歪
tomczhen
2024-04-24 19:59:43 +08:00
都说 Python 灵活,写类型提示也可以灵活点,做二极管大可不必。

一次性脚本就根据需要 IDE 提示的地方写一下,比如字典取对象,写个提示方便后面代码编写。
验证的小项目参考上面,然后函数出参入参写一下。
如果是自己会长期维护,或者必然时间很久之后要修,那就能写的地方就写一下,之后再来看代码就好受点。
jfcherng
2024-04-24 20:00:49 +08:00
寫,因為用 IDE 和各種靜態工具爽。另外就是不寫的話,以後回來看就是火葬場。接手了別人的代碼,什麼類型都沒寫,各種入參完全不知道是什麼鬼,費了一堆時間在猜。
plan9
2024-04-24 20:10:53 +08:00
第三种

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1035332

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX