在哪里可以找到 set.symmetric_difference 等内置类型方法的类型注释?

Posted

技术标签:

【中文标题】在哪里可以找到 set.symmetric_difference 等内置类型方法的类型注释?【英文标题】:Where can I find the type annotations for methods of built-in types like set.symmetric_difference? 【发布时间】:2021-12-07 19:31:09 【问题描述】:

我知道 CPython 的内置函数是用 C 实现的。但我对内置类型的方法的类型提示或注释感兴趣。

例如,我想知道set.symmetric_difference_update()是如何注释的。但是我找不到。

似乎内置函数需要类似的类型提示才能使 mypy 等程序正常工作。

【问题讨论】:

【参考方案1】:

您可以找到set.symmetric_difference_update() here 的注释。

class set(MutableSet[_T], Generic[_T]):
    # ...
    def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...

以下是来自typeshed 存储库的readme.md 文件的一些摘录:

Typeshed 包含 Python 标准库和 Python 内置函数的外部类型注释,以及由这些项目外部人员贡献的第三方包。

这些数据可以例如用于静态分析、类型检查或类型推断。 [...]

如果您只是使用 mypy(或 pytype 或 PyCharm),而不是开发它,则根本不需要与 typeshed 存储库进行交互:typeshed 的标准库部分的副本与 mypy 捆绑在一起。

【讨论】:

以上是关于在哪里可以找到 set.symmetric_difference 等内置类型方法的类型注释?的主要内容,如果未能解决你的问题,请参考以下文章

在哪里可以找到 DeskUtil 文档?

我在哪里可以找到这个 LinkedIn 插件?

在哪里可以找到 MySQL 事务日志?

我在哪里可以找到模式的数据目标

在哪里可以找到 Raku 核心转储文件?

在哪里可以找到 Android 设备驱动程序的源代码?