我正在 PyCharm IDE 中处理一些 python 代码。自动完成功能在某些情况下工作正常,但在其他情况下则不然。例如,在我将 matplotlib
导入为 plt
后,在输入“plt.
”后,所有可能的方法如下所示
但是,某些变量似乎没有自动完成功能。如果我手动输入方法,程序就可以正常工作。但 IDE 并没有提示我该变量可以使用哪些方法。它显示了以“__”开头的内容,但不是我应该使用的方法。例如,在创建 ax1 = plt.subplot2grid((1,1), (0,0))
后,我可以在 ax1 变量上调用 tick_params
方法。这是一个有效的方法。但是,当我输入“ax1”时,此方法不会显示在列表中。
我不认为这个问题是 PyCharm 特有的。我过去在其他 Python IDE 或 Python Notebook 中也遇到过类似的问题。我在这里缺少什么?
最佳答案
自动完成只能帮助您处理类...这是您调用以获取坐标区对象的方法
考虑
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
关于python - 为什么自动完成有时在 python IDE 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43954889/