首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在运行时从存根文件(.pyi)获得类型注释?

如何在运行时从存根文件(.pyi)获得类型注释?
EN

Stack Overflow用户
提问于 2017-08-23 02:52:19
回答 1查看 1.2K关注 0票数 8

我希望在函数或类methods.If上获得注释--类型提示是在源代码中编写的,然后我可以通过获取属性__annotations__来获取类型。

代码语言:javascript
复制
def hoge(n: int): ...
print(hoge.__annotations__)  # {'n': <class 'int'>}

但我不知道如何在存根文件(.pyi)中编写类型。

代码语言:javascript
复制
# .pyi
def fuga(n: int): ...

# .py
def fuga(n): ...
print(fuga.__annotations__)  # {}

有没有什么很酷的方法?

EN

回答 1

Stack Overflow用户

发布于 2017-09-16 13:56:29

来自佩普-484

存根文件是包含类型提示的文件,仅供类型检查器使用,而不是在运行时使用。存根文件有几个用例:

  • 扩展模块
  • 第三方模块,其作者尚未添加类型提示。
  • 尚未编写类型提示的标准库模块
  • 必须与Python 2和3兼容的模块
  • 将注释用于其他目的的模块

因此,不幸的是,无法获得注释,它们的解释方式由类型检查器自行决定。这有一个副作用,即没有权威的资源来验证您的类型提示是否正确。

与之最接近的是mypy

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45829894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档