如何在没有导入的情况下输入提示

时间:2021-02-04 14:29:48

标签: python

是否可以在不导入非本地类型的情况下提示它来自的类?

例如,我有一个需要“pandas.DataFrame”对象并使用其“index”方法的函数。在这种情况下,导入 'pandas' 是没有用的,但我不能在不导入后者的情况下声明我的输入,因为 'DataFrame' 不是原生的 Python 类型:

def foo(x: DataFrame):
    print(x.index)

1 个答案:

答案 0 :(得分:2)

Pyi 存根文件 https://google.github.io/pytype/user_guide.html#pyi-stub-files

<块引用>

在某些情况下,不可能通过以下方式向模块添加注释 编辑其源代码:C 扩展模块、外部 python 源文件、 等等 。对于这些情况,PEP 484 允许您声明模块的类型 在一个单独的“存根”文件中,扩展名为 .pyi。 Pyi 文件遵循一个 python 语法的子集,类似于 C 中的头文件 (示例)。