Python IDE 自动补全功能的使用疑问与优化建议

我本身是从事 JAVA 和 C#编程的,现在自己自学 Python, 但是有一个很大的困惑,就是 Python 的 IDE 工具,自动补全一直都感觉不好用。 我用的 PyCharm,类型很明确的时候,可以自动补全 但是 Python 大部分时候,很多变量,类型是不明确的 例如 django 的 view 中,我定义一个方法

def index(request): pass

我想看 request 中有那些变量或者方法我能用,使用 request.就.不出来了。 我现在很多类的方法什么的,用到都要去查,或者背下来。 但是我使用 java,C#等语言从来都没这样的习惯,搞得很痛苦 不知道大家有没有什么方法,还是我打开 Pycharm 的方式不对。各位请指教。


Python IDE 自动补全功能的使用疑问与优化建议

11 回复

我无法理解你的问题

在 doc string 中声明参数和返回值的类型,或者用楼上的方法,typing 只支持 Python 3.4+

没办法,Python 是动态的,和静态不一样,IDE 做不到那么智能。

API 不熟悉的话也没什么好办法,一般就 google 或者直接看源码导出那些接口。。。。

mypy 你需要的是这个

有一个投机取巧的办法,就是在调用一个变量前先确定以及肯定它的类型。比如:

assert isinstance(value,dict)

这样 PyCharm 就知道 value 肯定是 dict 类型,然后,所有的智能提示都出来了。我已经这么干很久了。。。

另外楼上提到的 doc string 也是可行的,如果你不介意多写点注释也是极好的。

楼主自学 python 用的什么教程啊,能否共享。


assert 大法好,刚刚在 SublimeJEDI 中试了下确实好使,感谢!!

养成好习惯,写代码加 doc string,方便自己也方便他人。

动态语言的静态分析比较难,所以你知道为嘛王垠一直吹自己的 PySonar

回到顶部