为什么自动完成有时在python IDE中不起作用

时间:2017-05-13 15:33:22

标签: python autocomplete ide pycharm

我在PyCharm IDE中处理一些python代码。自动完成功能在某些情况下可以正常工作,但不能在其他情况下工作。例如,在我将plt导入为plt.后,在我输入" ax1 = plt.subplot2grid((1,1), (0,0))"后,所有可能的方法都显示在下面

autocomplete works here

但是,某些变量似乎没有自动完成功能。如果我手动输入方法,程序工作正常。但IDE只是没有提示我变量可用的方法。它显示以" __"开头的内容,但不是我应该使用的方法。例如,在我创建tick_params之后,我可以在ax1变量上调用{{1}}方法。这是一种有效的方法。但是,当我输入" ax1。"

时,此方法不会显示在列表中

autocomplete does not work

我不认为这个问题是PyCharm特有的。我过去在其他Python IDE或Python Notebook中遇到过类似的问题。我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

autocomplete只能帮助你处理类...这是一个你要调用来获取轴对象的方法

考虑

def get_something():
    if caseA: return Something1()
    return DefaultSomething()

pycharm(或任何ide)不知道哪个类会被返回其中任何一个或者什么都没有...它应该作为自动完成给你什么?

表示你可以告诉pycharm它必须是matplotlib.Axes

类型
ax1 = plt.subplots(....)
assert isinstance(ax1,matplotlib.Axes)
ax1.   # now autocomplete works