V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
wickila
V2EX  ›  Python

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

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

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

    3,关于方法的参数以及返回值的问题: help 一下不是一目了然么
    wickila
        8
    wickila  
    OP
       2011-08-30 11:45:03 +08:00
    比如我在文档里面查找Element这个类,能找到类,但是不知道包名是什么
    chloerei
        9
    chloerei  
       2011-08-30 12:50:43 +08:00
    扔掉IDE吧,用了什么包都不清楚了。
    keakon
        10
    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
        11
    Livid  
    MOD
       2011-08-30 13:48:36 +08:00
    个人觉得学习一门语言最好的过程,就是在即使不熟的情况下,也试着用这门语言去做一个有点规模的项目。在做有规模项目的过程中,你为了解决那些实际遇到的问题,也就自然会去了解需要用到的语法,设计模式,函数库等等。

    而且 Python 有两个很好的优势就是:1. 不用等待编译。2. 互动式的 shell 可以快速试验一些函数库和语法。
    wickila
        12
    wickila  
    OP
       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
        13
    wickila  
    OP
       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
        14
    luofei  
       2011-08-30 14:44:51 +08:00
    @love 多谢 refference收下了
    tioover
        15
    tioover  
       2011-08-30 16:43:30 +08:00
    学了基础以后用dir和help两个函数基本上可以解决文档问题了……当然英语啃起来比较恼火
    tysx
        16
    tysx  
       2011-08-30 18:21:26 +08:00
    装ipython
    roger_xl
        17
    roger_xl  
       2011-08-30 21:13:30 +08:00
    学习一门语言,就要读文档,多实践,多思考
    http://www.lifeyun.com/python-and-django-entrance.html
    wickila
        18
    wickila  
    OP
       2011-09-01 11:08:22 +08:00
    ipython需要2.6以上版本,可是GAE用的是2.5,晕了。不过谢谢各位了,又知道了不少东西。
    Droog
        19
    Droog  
       2011-09-01 11:44:18 +08:00
    @Livid 这个很对,有一定基础了,尝试做些自己想做的小项目。
    慢慢从需求、结构、数据库设计入手,然后考虑类的变量、方法等细节的实现方式。
    在项目中会遇到很多不同的问题,有设计方面的,也会有语言方面的,也会有更多的bug出现,要调试。
    如果在学习过程中,老钻研某个细节的技术,没什么用途,及时当时很了解,如果长时间不用,一样会忘了。还不如等到要用的时候,翻翻文档,或者Google一下来的快。
    alsotang
        20
    alsotang  
       2011-09-10 20:00:11 +08:00
    @Livid @Droog 对对对。多做才知道实际困难是什么,也才能更好的发挥IDE的便捷。不如就如楼主说的,连导入modules都不懂的话,显然是被IDE害了啊。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1160 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 23:15 · PVG 07:15 · LAX 15:15 · JFK 18:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.