我本身是从事 JAVA 和 C#编程的,现在自己自学 Python, 但是有一个很大的困惑,就是 Python 的 IDE 工具,自动补全一直都感觉不好用。 我用的 PyCharm,类型很明确的时候,可以自动补全 但是 Python 大部分时候,很多变量,类型是不明确的 例如 django 的 view 中,我定义一个方法
def index(request): pass
我想看 request 中有那些变量或者方法我能用,使用 request.就.不出来了。 我现在很多类的方法什么的,用到都要去查,或者背下来。 但是我使用 java,C#等语言从来都没这样的习惯,搞得很痛苦 不知道大家有没有什么方法,还是我打开 Pycharm 的方式不对。各位请指教。
1
oisc 2017-07-25 16:09:06 +08:00
|
2
TJT 2017-07-25 16:24:08 +08:00
在 doc string 中声明参数和返回值的类型,或者用楼上的方法,typing 只支持 Python 3.4+
|
3
zhengxiaowai 2017-07-25 16:29:20 +08:00
没办法,Python 是动态的,和静态不一样,IDE 做不到那么智能。
API 不熟悉的话也没什么好办法,一般就 google 或者直接看源码导出那些接口。。。。 |
4
Kilerd 2017-07-25 16:49:57 +08:00 via iPhone
mypy 你需要的是这个
|
5
cicaday 2017-07-25 17:27:02 +08:00
有一个投机取巧的办法,就是在调用一个变量前先确定以及肯定它的类型。比如:
assert isinstance(value,dict) 这样 PyCharm 就知道 value 肯定是 dict 类型,然后,所有的智能提示都出来了。我已经这么干很久了。。。 |
6
cicaday 2017-07-25 17:28:29 +08:00
另外楼上提到的 doc string 也是可行的,如果你不介意多写点注释也是极好的。
|
7
Betacoefficient 2017-07-25 17:56:37 +08:00
楼主自学 python 用的什么教程啊,能否共享。
|
9
cxbig 2017-07-25 18:19:26 +08:00
养成好习惯,写代码加 doc string,方便自己也方便他人。
|
10
congeec 2017-07-27 00:03:09 +08:00
动态语言的静态分析比较难,所以你知道为嘛王垠一直吹自己的 PySonar
|