习题 23: 读代码 *************************** 上一周你应该已经牢记了你的符号列表。现在你需要将这些运用起来,再花一周的时间,\ 在网上阅读代码。这个任务初看会觉得很艰巨。我将直接把你丢到深水区呆几天,让你\ 竭尽全力去读懂实实在在的项目里的代码。这节练习的目的不是让你读懂,而是让你学会\ 下面的技能: 1. 找到你需要的 Python 代码。 2. 通读代码,找到文件。 3. 尝试理解你找到的代码。 以你现在的水平,你还不具备完全理解你找到的代码的能力,不过通过接触这些代码,你\ 可以熟悉真正的编程项目会是什么样子。 当你做这节练习时,你可以把自己当成是一个人类学家来到了一片陌生的大陆,你只懂得\ 一丁点本地语言,但你需要接触当地人并且生存下去。当然做练习不会碰到生存问题,这\ 毕竟这不是荒野或者丛林。 你要做的事情如下: 1. 使用你的浏览器登录 bitbucket.org,搜索 "python"。 2. 忽略那些提到 "Python 3" 的项目,它们只会让你变迷糊。 3. 随便找一个项目,然后点进去。 4. 点击 ``Source`` 标签,浏览目录和文件列表,直到你看到以 ``.py`` 结尾的文件\ (setup.py 就别看了,这样的文件看了也没用)。 5. 从头开始阅读你找到的代码。把它的功能用笔记记下来。 6. 如果你看到一些有趣的符号或者奇怪的字串,你可以把它们记下来,日后再进行研究。 就是这样,你的任务是使用你目前学到的东西,看自己能不能读懂一些代码,看出它们的\ 功能来。你可以先粗略地阅读,然后再细读。也许你还可以试试将难度比较大的部分一字\ 不漏地朗读出来。 现在再试试其它三个站点: * github.com * launchpad.net * koders.com 在这些网站你可能还会看到以 ``.c`` 结尾的奇怪文件,不过你只需要看 ``.py`` 结尾\ 的文件就可以了。 最后一个有趣的事情是你可以在这四个网站搜索“python”以外的你感兴趣的话题,例如\ 你可以搜索“journalism(新闻)”,“cooking(厨艺)”,“physics(物理)”,或者任何\ 你感兴趣的话题。你也许会找到一些你对你有用的,可以直接拿来用的代码。 常见问题回答 ========================== 能不能推荐我几个项目链接?这样我就不用四处寻觅了。 看看我的这个项目 https://github.com/zedshaw/lamson 然后在附近搜索一下。 救命啊,我看不懂! 看不懂没关系,你还是初学者。这个练习的目的是直接把你丢到泳池里让你自己试着扑腾。等你适应了\ 这个,后面你再碰到别人的代码时就不会那么头大了。 我真的需要每天去做,坚持一个星期吗? 如果你有时间的话就坚持一个星期,不过也别死守着这条。你可以花个半小时看看别人的代码,再花\ 一个小时看后面的习题,这样也没关系,只要看足够多的代码就行了。