Python 类型提示中的“at”符号 (@)(由 Pylance / Pyright 建议)

2024-06-19

The 2022 年 7 月发布 https://devblogs.microsoft.com/python/python-in-visual-studio-code-july-2022-release/引入了 Visual Studio Code 的 Python 扩展“镶嵌类型提示”,它会自动建议没有显式注释的函数的返回类型。要启用它,您可以设置"python.analysis.inlayHints.functionReturnTypes": true到您的 IDE 用户设置(首选项:打开设置 (JSON) 命令)。

While testing this feature, I noticed the following kind of suggestion, inside a class: enter image description here

...其中黄色突出显示的文本是 Python 扩展建议的返回类型,它基于Pylance https://github.com/microsoft/pylance-release,它本身依赖于Pyright https://github.com/microsoft/pyright.

我的问题是:什么是@登录这个建议应该意味着什么?是否有 PEP 引用这种类型注释(带有Self@...)或者是特定于这种类型提示的方式Pyright,与标准约定不同?我在哪里可以找到更多相关信息?

我发现了一个类似的 Stackoverflow 问题here https://stackoverflow.com/questions/71261823/what-does-the-symbol-mean-in-python-type-hinting但没有得到任何答复。


That @表明Self is a TypeVar, and Self@HereIsMyClassName指的是Self在班级的背景下HereIsMyClassName(它也可以是一个函数)。这不是有效的 Python。 (从技术上讲,这是有效的,因为@运算符是矩阵乘法,所以你是矩阵乘法Self and HereIsMyClassName。但是,这不是本意,而且确实没有任何意义。)不要在代码中编写此内容,但要知道这就是 Pylance 向您展示的方式TypeVar当它显示类型定义时。 (可能还有其他编辑器和扩展。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 类型提示中的“at”符号 (@)(由 Pylance / Pyright 建议) 的相关文章

随机推荐