1
lxian2 2016-06-28 10:23:59 +08:00
同感
|
2
WangYanjie 2016-06-28 10:27:39 +08:00
有代码提示的功能,比如说 jedi ,不过讲实话的话,我是靠记的
|
3
hyq 2016-06-28 10:30:39 +08:00
ipython 之类的交互界面,创建对象后,可以动态获取对象上的方法
|
4
practicer 2016-06-28 10:31:08 +08:00 1
我一般把标准库 pdf 格式的文档下载下来,写代码时遇到不记得了随时查,平时没事时也常翻,不知道这姿势正不正确
|
5
exoticknight 2016-06-28 10:31:29 +08:00
多用,熟悉起来就行
|
6
SpicyCat 2016-06-28 10:38:12 +08:00
> 难道作为 Python , JS 这些弱类型的语言,大家编写代码都是靠脑袋来记的吗?是不是我错过了什么
是的,不过也不全是。 Python , JS 的代码提示是不可能做到像 Java , C/C++, C# 那种级别的。但是很多 IDE 也提供了部分代码提示,就是不够强罢了。 一般是记个大概,用的时候查。 |
8
lonelinsky 2016-06-28 10:45:39 +08:00
深感如此,作为用 vim 写 python 的一员,用了 pep8 , pyflakes , pydoc , py.test 插件,能提示一些基本的错误,如定义未使用,语法错误, import 未使用等,但还是经常发现有些方法或者属性写错了(属性名写错,对象层级写错),还经常要到运行的时候才能发现(嗯,现在的代码测试用例写得比较少),很是不爽 =。=
|
9
northisland 2016-06-28 10:46:47 +08:00 1
print(function.__doc__)
我的做法 |
10
4ever911 OP |
11
afpro 2016-06-28 10:53:23 +08:00
有个东西叫 type hint
|
13
4ever911 OP xxx.__doc__
dir(xxx) 新技能 Get |
14
wangdashuai 2016-06-28 11:02:32 +08:00
bpython 的补全还是很厉害的.可惜不能上图.
|
15
est 2016-06-28 11:05:11 +08:00 2
LZ 的意思是比如 def my_func(obj_a, obj_b) 然后你写 my_func 的时候并不能知道 obj_a 或 obj_b 是什!么!鬼!
|
16
eliteYang 2016-06-28 11:09:21 +08:00
你缺少一个 IDE ,例如 pycharm ,这些东西靠大脑记不太现实
|
17
4ever911 OP @est
是的, 还有, 比如 obj = some_func (xx), 然后我拿着 obj 发愣, 只能去查资料。 如果是以前的 VS 的写法, obj 肯定是有类型的, IDE 会提示我 OBJ 包含哪些方法和类,基本看看名字就知道怎么用了。 而碰到 Python ,我不光第一次需要去查询, 以后如果记得不清晰准确,还得再次去查询。 而 C++这种,我只要记一个大概, 比如我记得有个 caption ,我不用太记清是 get_caption, 还是 getcaption or getcaptionname.....到 ide 的自动提示里面去看看就记起来了。 |
18
clino 2016-06-28 11:17:21 +08:00
pycharm 应该比我常用的 ulipad 功能强才对, ulipad 都有这样的功能啊对于标准库来说
ulipad 是用 python 写的,装个 wxpython 库,然后把 ulipad 源代码拿下来就能跑了 |
19
Arnie97 2016-06-28 11:18:18 +08:00 via Android
traitlets ?
另外, Python 是强类型,不可与 JS 混为一谈。 |
21
wizardoz 2016-06-28 11:37:05 +08:00
对于 import 的库无能为力这一条不同意,可能是你配置不对哦。
|
22
mahone3297 2016-06-28 11:39:05 +08:00
所以, php7 有类型要求了,逃)
|
23
northisland 2016-06-28 11:47:57 +08:00
|
25
Owenjia 2016-06-28 12:18:20 +08:00
看看 https://www.python.org/dev/peps/pep-0484/ ?不过现在还很不完善。
|
26
jzp113 2016-06-28 12:18:55 +08:00
考记性的。有时候自己写的函数经常忘记返回是啥
|
27
334132462 2016-06-28 12:22:53 +08:00
请用 VS CODE
|
28
wangxn 2016-06-28 12:36:14 +08:00 via Android
help(func)
|
29
felixzhu 2016-06-28 12:44:11 +08:00
写久了大部分都能记住,不行就开一个 console 看一下 help 就行
个人偶尔也会开一个 dash |
30
onlyice 2016-06-28 12:46:52 +08:00 via Android
推荐下 DevDocs ,用什么查什么
|
31
hjc4869 2016-06-28 12:49:16 +08:00 via iPhone
嗯,所以现在流行瞧不起 Java/C#,瞧不起 IDE , js 学个一知半解玩下 linux 甚至直接买台乞丐版 mac 就出来圣战(光速逃
|
32
eriale 2016-06-28 13:12:48 +08:00
请点击 File->Settings->Project->Project Interpreter, 在右边选择你现在使用的虚拟环境,点击保存。
马上你就可以看到各种补全了。 |
33
zhuangzhuang1988 2016-06-28 13:16:29 +08:00
转回去吧...
|
34
jeffersonpig 2016-06-28 13:23:05 +08:00
然后 python 的文档,函数说明好像都不说清楚返回值是个啥……虽然是弱类型语言,但是函数返回的东西其实还是有类型的吧,不然谁知道该怎么用返回值……难道是我看文档的方式不对?
|
35
hwsdien 2016-06-28 13:29:36 +08:00
装个 dash, 装个 ipython, dir 一下
|
36
TheCure 2016-06-28 13:32:12 +08:00
python 不是弱类型语言,python 是动态类型,这是基础吧,这个概念不明确还写个毛
我一般遇到问题会去 REPL 测试下 然后回来继续写 常用库都能记住,基本上返回的都是基本类型,或者和基本类型有相同的用法,比如 strip,切片之类的 记不住就去查 DASH 如果 lz 实在是不习惯,还是转回去吧 |
37
sjtlqy 2016-06-28 13:49:27 +08:00
@zhuangzhuang1988 直接转汇编去吧
|
38
jixiangqd 2016-06-28 13:50:23 +08:00
pycharm 今年的新功能--> type hint
|
39
menc 2016-06-28 14:05:56 +08:00
python 是强类型,但是是动态类型,要注意区分
|
40
tonghuashuai 2016-06-28 14:08:25 +08:00
PyCharm 和 Vim 都有自动补全啊,但是貌似很多人用 Vim 不用提示,纯手写。也推荐尽量不要依赖自动补全,如果遇到有人让你在白板写代码的时候不至于太尴尬。
LZ 说的这个问题呢,主要原因还是不熟悉,试想大家在学打字的时候,刚开始学都会经历一个一指禅的阶段,但是学会了以后就不需要去眼看键盘了,而且也应该不是靠脑子去记每个键位吧,是下意识的。所以,孰能生巧。 LZ 加油,我也是从 C# 转到 Python 的,以前也用 PyCharm ,现在用 Vim ,不讨论 IDE 和 Vim 到底谁好的问题,各有好处罢了,只是学习阶段使用 Vim (不要配置自动提示) 会有效的提高自己的水平。 |
41
kier 2016-06-28 14:12:28 +08:00
随便吐个槽,遇到好多人都说 python 是弱类型!我已经累到不想反驳了
|
42
imn1 2016-06-28 14:16:44 +08:00
所以 python 手册里面有专门章节讲述 doc ,三引号不光是一个注释
|
43
ninjadq 2016-06-28 14:24:48 +08:00
有一些补全的工具,但是很多时候还是靠记,很多时候旁边还需要开一个 ipython
|
44
9hills 2016-06-28 14:28:09 +08:00
动态类型就是这样,不到运行的时候不知道是什么类型,很多时候代码提示搞不了的
|
45
9hills 2016-06-28 14:30:30 +08:00
举个栗子:
def (x): a=classA() if x > 5: a = classB() a.xxxx # 此时来个代码提示看看,是提示 classA 里的方法呢,还是提示 classB 里的方法呢。。。 |
46
Taojun0714 2016-06-28 15:27:47 +08:00
python 是强类型动态语言
python 是强类型动态语言 python 是强类型动态语言 |
47
itlynn 2016-06-28 15:35:03 +08:00 via iPhone
个人用 Sublime ,另再开一个 bpython 交互,遇到不熟悉的类库就在 bpython 输入,会动态提示属性及方法,了解再进行使用。
|
48
lzhr 2016-06-28 15:39:39 +08:00
VS 上不是有 PTVS 吗
|
49
lyroge 2016-06-28 15:42:38 +08:00
c# 转过来的, 用的 sublime 还不错哦
|
50
ChiangDi 2016-06-28 15:42:46 +08:00 via Android
用 dash
|
51
tairan2006 2016-06-28 15:52:04 +08:00
python 是强类型语言啊
熟能生巧。 |
52
crysislinux 2016-06-28 15:54:36 +08:00
pycharm 我映像中可以在这软件里下载常用库的定义的
|
53
PublicFourWord 2016-06-28 16:21:50 +08:00
site:v2ex.com/t IDE 提示 函数
|
54
sevncz 2016-06-28 16:29:13 +08:00
有的时候直接 pycharm 点进去看实现
|
55
hello2t 2016-06-28 16:48:06 +08:00
说实话,我也是靠记的,不过我是写 php 的。。。
|
56
SuperFashi 2016-06-28 17:33:34 +08:00 via Android
import 的库 pycharm 怎么会不显示呢?难道我们用的不是一个 pycharm ……
就算没有,按住 alt 点一下就可以直接去看实现。 在没有 ide 的情况下: xxx.__doc__ dir(xxx) |
57
clorts 2016-06-28 17:41:38 +08:00
为何不滚回 c++呢:)
|
58
cexia 2016-06-28 18:08:31 +08:00
宇宙第一 IDE 的 python 模块不是有楼主想要的功能吗?
|
59
kslr 2016-06-28 18:50:51 +08:00 via Android
也许你需要另一个显示器看文档
|
60
ideascf 2016-06-28 18:57:04 +08:00
|
61
ideascf 2016-06-28 18:58:30 +08:00
看楼上的这个连接,有说如何给自定义的函数、类等等,增加类型提示。 我目前就这样使用,自己写好参数以及返回值的类型后,提示功能和自带的类 /函数就没有什么区别了。
|
62
billlee 2016-06-28 22:36:34 +08:00
python 是强类型
我一般用 devdocs.io 查文档 |
63
aabbccli 2016-06-29 00:44:51 +08:00
dir(), help(), type()
|
64
ctftemp 2016-06-29 01:48:43 +08:00 via Android
@est 加断言, assert isinstance(obj, class)
后面再用到 obj 就能自动补全出 obj 的成员函数和属性了。自己写的函数,当然知道参数的类型该是什么。 |
65
lightening 2016-06-29 06:10:15 +08:00 via iPhone
|
66
loryyang 2016-06-29 09:36:33 +08:00
能记住就记住,记不住就去 ipython 里面跑一下,查一查,如果要实现一个小功能,直接 Google 一下
|
67
maowu 2016-06-29 13:15:02 +08:00
vscode 加一个 python 语言的插件,也有不错的效果
|
68
jiangbingo 2016-07-01 09:54:30 +08:00
从 C 转过来的,感觉最不能忍受的是 python 参数传递。
|