1 crackidz 2023-09-28 11:15:37 +08:00 使用 pylance 会有类型推导,另外 stubs 有的尽量装上 |
![]() | 2 noe132 2023-09-28 11:24:19 +08:00 python typehint 给我的感觉就像是以前的 jsdoc ,不能说没有,但也不能说非常有用。 typescript 直接把 js 拉到和静态类型语言快一个水平了 |
3 Hstar 2023-09-28 12:08:14 +08:00 python 的 typehint 只是标注,ide 帮你检查,解释器完全无视这些玩意。 既然用动态语言了,就抛弃你的类型依赖观念,一把嗦~ |
4 deorth &bsp; 2023-09-28 12:11:34 +08:00 via Android typthon 不如还是直接转 go 吧 |
5 dayeye2006199 2023-09-28 12:13:22 +08:00 可以弄个 git 的钩子,挂个 mypy 之类的类型检查器。把 django 的 stub 装上 |
6 cdwyd 2023-09-28 12:14:21 +08:00 via Android 一直不明白写 python 为什么会有类型依赖呢? 大部分情况都能根据经验推测出来类型,推测不出来的找到定义的地方看一眼也不费事 |
![]() | 7 LindsayZhou 2023-09-28 12:27:46 +08:00 pytest 的时候走 mypy 过一遍呗。 @cdwyd #6 我主要是用第三方库的时候。 如果他们写了类型,不用去读他们的代码,lsp 会有更友好的提示。 特别是用了自定义类的时候,不用去翻代码和文档查有哪些方法可以用。 |
8 cdwyd 2023-09-28 12:40:19 +08:00 via Android @LindsayZhou 明白了,主要适用于调用了第三方类库,然后只是简单使用下不太值花时间得去了解熟悉具体用法的情况。 |
![]() | 9 aisk 2023-09-28 13:19:21 +08:00 Python 不是很早就内置了 JS 想要但是还没加进去的类型标注功能,并且有官方的 mypy 以及微软的 pyright 来做类似 typescript 工具做的工作,题主还想要什么呢? |
![]() | 10 bianhui 2023-09-28 13:41:56 +08:00 一个好的变量命名足以知道参数是啥类型 |
![]() | 11 jianyang 2023-09-28 13:42:31 +08:00 养成做类型标准的习惯 变量 :type 函数 ->type 我现在写 GO 写习惯了,偶尔用 python 写一些简单的脚本的时候都感觉非常别扭 |
12 xzm429438709 OP @aisk mypy 你用起来就知道了,typedict 很多没有 ts 的好 |
![]() | 13 woodfizky 2023-09-28 15:03:19 +08:00 类型注解是类型注解,类型检查是类型检查 除非你用 pydantic |
![]() | 14 aisk 2023-09-28 17:14:38 +08:00 @xzm429438709 就算没有 ts 的好,也不至于像贴主说的那样,拿到变量不知道什么类型。 |
![]() | 15 qq565425677 2023-09-28 17:56:07 +08:00 python 的好处恰恰在于不需要知道类型也能写 |
16 vituralfuture 2023-09-28 18:36:57 +08:00 via Android 我觉得 python 的 typehint 用好了效果不输 TS ,主要是以前的第三方库开发的时候 typehint 还不流行或者甚至没提出,比如 Django 对 url 做校验还需要把类型写到字符串里,然而 fastapi 已经可以利用 typehint 做校验了 |
17 vituralfuture 2023-09-28 18:41:12 +08:00 via Android 而且 python 对 typehint 的支持是渐进的,也就是说一个第三方库,可以完全不使用 typehint ,也可以部分类或函数使用 typehint ,也可以完全不使用 typehint ,使用起来体验割裂。比如 opencv 安装了 stub 后,也存在类型推导无法生效的情况 |
18 junkun 2023-09-29 14:00:12 +08:00 @LindsayZhou 动态语言 print(dir(X)) 就好了啊,或者 breakpoint()。最近读到一句话很是认同:类型是给机器看的。就算有类型标注还是得看文档,写 java 都是这样。 |