【问题标题】:Automatic type inferring conventions in PyCharmPyCharm 中的自动类型推断约定
【发布时间】:2015-10-12 15:30:15
【问题描述】:

我的 python 2.7 项目有一个名为 WorldTables 的类。我将它的实例传递给许多方法,总是在变量名 world_tables 下。 除非我为每个方法指定 PyCharm 类型提示,否则我不会获得此类的代码完成(我想要的)。

不过,PyCharm 似乎对此有解决方案。如果类名是一个单词(例如 Player),它会自动假定每个名为 player 的变量都是该类的一个实例。

玩了一会儿之后,我注意到如果我以 worldtables 的名称(而不是我目前使用的 world_tables)传递 WorldTables,就会发生这种情况。然而,这不是命名约定的工作方式 AFAIK。

是否有不涉及添加(数百个)类型提示或打破我的命名约定的解决方案?比如:

A) 告诉 pycharm 自动假设 class_name 是 ClassName 而不是 classname 是 ClassName

B) 给 PyCharm 一个一次性的类型提示(“每次你看到一个名为 class_name 的变量,就假设它属于 ClassName 类”)

C) 任何其他可以解决此问题的创意。

谢谢!

【问题讨论】:

标签: python python-2.7 pycharm


【解决方案1】:

如果您在文档字符串中指定类型,PyCharm 会接受它。

例如。

def some_func(word_tables):
    """The description of the function.

    :param `WordTables` word_tables: An instance of the `WordTables` class.
    """
    pass

【讨论】:

  • 谢谢,但正如问题中所述,我正在寻找一种不涉及向每个接收 WorldTables 对象的函数添加类型提示的解决方案,因为这将是数百个。
猜你喜欢
  • 2016-10-10
  • 1970-01-01
  • 2022-11-24
  • 2015-08-07
  • 1970-01-01
  • 1970-01-01
  • 2017-11-30
  • 1970-01-01
  • 2013-04-14
相关资源
最近更新 更多