首页 > 解决方案 > Python将函数参数视为自动完成的类

问题描述

是否可以使用特定的类参数声明 python 函数?原因是我想避免类型错误(经常安静地发生在我身上)

例如:

def connect(socket as socket, HOST, PORT):
    return socket.connect((HOST, PORT))

这里的目标是,如果我输入“socket”。自动完成将向我显示套接字类上可用的任何功能。由于我将它作为参数传递,因此弹出的自动完成是空的。原因是您可以将每个对象传递给函数。

标签: pythonautocomplete

解决方案


Python 对类型注释有句法支持,但 Python 本身没有自动完成功能。这是由第三方工具提供的,例如 PyCharm 和 Jedi。如果您正确注释函数,其中一些应用程序(如 PyCharm)可以使用静态推理来获得更好的完成。

假设你开始像这样在 PyCharm 中输入一个函数,

def foo(a_dict: dict) -> int:
    print(a_dict.i▏

然后它将能够推断出这a_dict是一个 dict 并使用 dict 方法弹出一个完成窗口,例如items().


推荐阅读