gpt4 book ai didi

python - 如何在运行时在 Python 中从 stub 文件 (.pyi) 获取类型注释?

转载 作者:太空宇宙 更新时间:2023-11-03 11:42:45 33 4
gpt4 key购买 nike

我想获取函数或类方法的注释。如果类型提示写在源代码中,那么我可以通过获取属性__annotations__来获取类型。

def hoge(n: int): ...
print(hoge.__annotations__) # {'n': <class 'int'>}

但我不知道如何将类型写入 stub 文件 (.pyi)。

# .pyi
def fuga(n: int): ...

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

有什么很酷的方法吗?

最佳答案

来自 PEP-484 :

Stub files are files containing type hints that are only for use by the type checker, not at runtime. There are several use cases for stub files:

  • Extension modules
  • Third-party modules whose authors have not yet added type hints
  • Standard library modules for which type hints have not yet been written
  • Modules that must be compatible with Python 2 and 3
  • Modules that use annotations for other purposes

很遗憾,无法获取注释,如何解释它们由类型检查器自行决定。这样做的副作用是没有权威资源可以验证您的类型提示是否正确。

最接近的是mypy .

关于python - 如何在运行时在 Python 中从 stub 文件 (.pyi) 获取类型注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45829894/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com