1
pursuer 2023-07-06 17:20:16 +08:00 1
只说类型转换,可以用 typing.cast
|
2
Belmode 2023-07-06 18:17:49 +08:00 1
这不就是最基本的类型检查,和类型转换么...
|
3
jfcherng 2023-07-06 18:46:15 +08:00 1
> 依据文档,as_index=True 时,gb.size()返回 series ,但 pyright 不能识别,仍然检查报告 dataframe 不符合类型
聽起來像是沒有安裝 https://pypi.org/project/pandas-stubs/ , 要不安裝到環境後重啟 pyright 試試? |
4
NoOneNoBody OP @jfcherng #3
刚才装了,sublime+lsp_pyright 依旧 vscode+pylance 之前没装 pandas-stubs 也没这些问题,只是我现在转到 sublime 搞不定了,都是基于 pyright ,搞不清两者区别 暂时是逐行加# type: ignore 跳过,不过想找治本方法 |
5
jfcherng 2023-07-06 19:56:13 +08:00
@NoOneNoBody #4 pylance 是自帶 stubs 的
|
6
jfcherng 2023-07-06 20:16:44 +08:00
|
7
NoOneNoBody OP @jfcherng #6
你试试把 # type: Series 加在 size()后面,加这注释才是类型指定 |
8
jfcherng 2023-07-06 20:43:53 +08:00
@NoOneNoBody #7 ??? 為什麼要做這種事情,pyright 的類型甚至比你指定的更精確
|
9
NoOneNoBody OP @jfcherng #8
其实初心不是为了校验的,只是为了标记一下,review 时能想起是什么类型,只是顺带做校验而已 |
10
jfcherng 2023-07-06 21:01:05 +08:00
校驗有問題本來就會標紅色,全 project 的校驗直接 mypy 走起
review 想起類型其實也不用那麼麻煩,但是 ST 這邊現在比較尷尬,因為純正的 pyright 並沒有 inlay hint 功能,隔壁的 coc-pyright 自己實現了 inlay hint 以及其他功能。 以前我是直接搞 LSP-pylance ,但是後來微軟發信警告我 license 不允許我這麼做,於是 github 上的 LSP-pylance 我下架了。Pylance 有 inlay hint ,就是微軟的 license 只准在自己的編輯器用。Pylance in ST 的效果,有能力的自己私底下可以搞個... |