自学python的一些感受,前辈们给点建议

2011-08-29 16:16:11 +08:00
 wickila
自学python有几个月了,也写了一些小东西。但是总是感觉不顺手。表现有以下几点。
1,感觉python内容很多,很多用法都不太知道,每当要开动去写一些东西的时候总需要上网查。python自带的文档用起来不是很顺手。
2,关于IDE,写比较大的项目的时候,我用的是Eclipse,写小东西的话就直接用自带的IDLE(python shell),Eclipse下的话,有代码提示还好,还可以自动导入包。在IDLE下,导入一个包都不知道要怎么导入,因为不知道那个类在哪个包下,文档里面也查不到。有没有什么简便的IDE,并且导包,代码提示都比较完善的?
3,关于方法的参数以及返回值的问题,碰到一个新的方法,不知道要传什么类型的参数,要传几个参数,以及他会返回什么。只能自己摸索加网上搜索,感觉写代码很慢。
各位有没有什么好的建议?
8529 次点击
所在节点    Python
20 条回复
love
2011-08-29 16:42:46 +08:00
kojp
2011-08-29 17:05:31 +08:00
同样自学一直没进步。。。
keakon
2011-08-29 17:18:50 +08:00
总觉得你学的不是Python…

1.自带的文档是我见过所有语言中最好的了,其次是PHP。貌似只有这2门语言会带有例子,而且Python的文档还能当教程用。当然,你必须得懂英文。
2.系统自带的类基本上层次都很浅,包名也基本不会超过2层,文档中输入类名就能定位到,实在不知道你为什么会出现这种问题…有钱的话,IDE换PyCharm吧。
3.看文档,或者看源码。
qiao
2011-08-29 18:25:08 +08:00
建议试下 ipython, http://ipython.org/ 代码补全还有文档查看都非常方便。
ayanamist
2011-08-30 09:59:04 +08:00
@keakon MSDN也有Example的
imonyse
2011-08-30 11:02:55 +08:00
@keakon +1
lepture
2011-08-30 11:29:02 +08:00
同感觉你学的不是python

3,关于方法的参数以及返回值的问题: help 一下不是一目了然么
wickila
2011-08-30 11:45:03 +08:00
比如我在文档里面查找Element这个类,能找到类,但是不知道包名是什么
chloerei
2011-08-30 12:50:43 +08:00
扔掉IDE吧,用了什么包都不清楚了。
keakon
2011-08-30 13:28:54 +08:00
@wickila 不知道你看的是什么文档。

如果你是用Windows的话,Python的Doc文件夹下会有个pythonxxx(版本号).chm。打开以后选择index,输入Element,第一条就是“Element() (in module xml.etree.ElementTree)”,进去后翻到最上面或最下面,也会显示模块名。

就算没有文档的话,也可以在命令行里显示出来:
>>> Element('a').__class__
<class xml.etree.ElementTree._ElementInterface at 0x00E014B0>
_ElementInterface就是类名,前面的就是模块名。
Livid
2011-08-30 13:48:36 +08:00
个人觉得学习一门语言最好的过程,就是在即使不熟的情况下,也试着用这门语言去做一个有点规模的项目。在做有规模项目的过程中,你为了解决那些实际遇到的问题,也就自然会去了解需要用到的语法,设计模式,函数库等等。

而且 Python 有两个很好的优势就是:1. 不用等待编译。2. 互动式的 shell 可以快速试验一些函数库和语法。
wickila
2011-08-30 14:25:02 +08:00
@keakon 是不是up就是代表包名。好像是的。但是为什么我还发现“8.6.2.6 Element Objects ”,他的up显示的是xml.dom然后我写from xml.dom import Element却不行呢?
wickila
2011-08-30 14:44:12 +08:00
@keakon 用了__class__发现他的包结构是这样的xml.dom.minidom.Element,写from xml.dom.minidom import Element就ok了,可是在“8.6.2.6 Element Objects ”里面却好像找不出来它的包是xml.dom.minidom
luofei
2011-08-30 14:44:51 +08:00
@love 多谢 refference收下了
tioover
2011-08-30 16:43:30 +08:00
学了基础以后用dir和help两个函数基本上可以解决文档问题了……当然英语啃起来比较恼火
tysx
2011-08-30 18:21:26 +08:00
装ipython
roger_xl
2011-08-30 21:13:30 +08:00
学习一门语言,就要读文档,多实践,多思考
http://www.lifeyun.com/python-and-django-entrance.html
wickila
2011-09-01 11:08:22 +08:00
ipython需要2.6以上版本,可是GAE用的是2.5,晕了。不过谢谢各位了,又知道了不少东西。
Droog
2011-09-01 11:44:18 +08:00
@Livid 这个很对,有一定基础了,尝试做些自己想做的小项目。
慢慢从需求、结构、数据库设计入手,然后考虑类的变量、方法等细节的实现方式。
在项目中会遇到很多不同的问题,有设计方面的,也会有语言方面的,也会有更多的bug出现,要调试。
如果在学习过程中,老钻研某个细节的技术,没什么用途,及时当时很了解,如果长时间不用,一样会忘了。还不如等到要用的时候,翻翻文档,或者Google一下来的快。
alsotang
2011-09-10 20:00:11 +08:00
@Livid @Droog 对对对。多做才知道实际困难是什么,也才能更好的发挥IDE的便捷。不如就如楼主说的,连导入modules都不懂的话,显然是被IDE害了啊。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/17478

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX