代码之家  ›  专栏  ›  技术社区  ›  Christian Mosz

python将函数参数视为自动完成的类

  •  0
  • Christian Mosz  · 技术社区  · 7 年前

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

    例如:

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

    这里的目标是,如果我键入'socket'。自动完成将显示socket类上可用的任何函数因为我将其作为参数传递,所以弹出的自动完成是空的原因是您可以将每个对象传递给函数。

    1 回复  |  直到 7 年前
        1
  •  2
  •   gilch    7 年前

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

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

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

    那么它就能推断出 a_dict 是一个dict并弹出一个包含dict方法的完成窗口,如 items() 是的。