【问题标题】:Why autocomplete sometimes does not work in python IDE为什么自动完成有时在 python IDE 中不起作用
【发布时间】:2017-10-12 18:52:22
【问题描述】:

我正在 PyCharm IDE 中编写一些 python 代码。自动完成功能在某些情况下可以正常工作,但在其他情况下则不行。例如,我将matplotlib 导入为plt 后,输入“plt.”后,所有可能的方法如下所示

但是,某些变量似乎没有自动完成功能。如果我手动输入方法,程序运行良好。但是 IDE 并没有提示我该变量可以使用哪些方法。它显示了以“__”开头的内容,但没有显示我应该使用的方法。例如,创建ax1 = plt.subplot2grid((1,1), (0,0)) 后,我可以在ax1 变量上调用tick_params 方法。这是一个有效的方法。但是,当我键入“ax1”时,此方法不会显示在列表中。

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

【问题讨论】:

标签: python autocomplete ide pycharm


【解决方案1】:

自动完成只能帮助您处理类...这是您调用以获取轴对象的方法

考虑

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 2014-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多