如何一个月学会使用Python

文章翻译自Quora上的回帖,略有改动。原文链接:https://www.quora.com/What-are-the-best-tips-for-learning-Python-within-one-month

第1周

谷歌搜索“Python programming fundamentals” (Python编程基础),选择一个较好的网站,并针对其中的教程部分进行阅读和练习。这需要一周每天8小时的学习和练习来加强你的理解。记住:不要死记句法规则,每当你需要某个句法并使用时,会自然而然地记住。不过,最开始,多看几遍也不为过。书读多遍,其义自见。

如果不想搜索,我们在小学生都学Python了,你还不知道怎么开始提供了不少教程。而且还有自写的Python系列简明教程,精简版。可以作为小册子读用。

语法查找的话有Python cookbook,这里有中文翻译版本http://python3-cookbook.readthedocs.io/zh_CN/latest/preface.html (书中的所有源代码也可在此书的前言页面获取)。

第2、3、3.5 周

选择一个课题并试着完成它。

有以下建议:

  1. 不要想的太多,选择一个基础的项目,或者google搜索“beginner python projects” (新手python课题)。Python生信练习题

  2. 不必记住句法规则,当遇到困难时上网搜索便可得到提示。

  3. 使用IDE (Integrated Development Environment) (可以更简单的debug以及运行程序)。如PyCharm、Jupyter notebook。

  4. 将项目拆分为几个小的部分。

    例如如果你要做一个计算器,那么:

    (1)先设想界面,在深入到各个按钮。

    (2)将加减乘除等功能放入到相应按钮中。

  5. 可以借助Stackoverflow等网站。请在理解内容的基础上进行复制粘贴。

  6. 这个过程会比较艰辛,需要有毅力来强迫自己解决遇到的问题。

    当遇到难题时:

    (1)使用搜索引擎,注意输入更明确的搜索字段。

    (2)如果不没能搜索出答案,可以把问题放到论坛上去。如何提问

  7. 编程时适当休息,转换心情。

  8. 花时间学一下版本控制 (version control) 的基础,推荐git这个网站。

  9. 慢慢学习如何debug。个人认为最好的debug,是打印出程序运行的关键过程,查看每一步是否符合预期。

  10. 在编写程序前,确保自己已经有了实际理论解决方案。可以事先笔头画出问题的解决方案流程。
  11. 编写完程序后,试着花几个小时来测试并从中改进学习。在一个小问题上,不断拓展,就可以深入。
  12. 当一个难题解决不了时,不要气馁。先去做别的部分,再返回来重新思考。

第3.5/4 周

首先保证程序没有运行BUG,然后再看有没有结果BUG

如果你还没有完成此项目:

(1)给自己更多的时间。

(2)优先处理重要的编程部分。

恭喜你,对于只是通过读tutorial学习python却收获甚少的人来说,你已经超越他们了,或许比1、2年级的CS本课程还要领先。

之后可以通过学习数据库的工作原理以及python构架来提高自己的手法。

学习的过程大部分是程序写作和调试,想不想有个后盾呢?

http://www.ehbio.com/Training

回复中推荐的网络资源比较多,这就不列出来了。因为大部分我也没看过,适不适合初学也不好评价。

今天收到Coursera的邮件,列出了2017年最高评分的系列课程,计算机系列有三个,都跟Python有关:Fundamentals of Computing (编程语言使用Python,前两部分都是关于Python交互式编程), Algorithms (Python作为一个必修语言), Python for Everybody, 有时间的可以去看看 (https://www.coursera.org)。

搜索资料的过程中,不小心发现了这么一个神奇的Github库,里面包含了很多免费,大部分优质的书籍,部分相关的列举如下 (可点击的都是生信宝典之前发过的文章),读过的付一点心得体会。可直接访问最后的网址跳到原网页,或点击阅读原文,每个链接都可点。

Awk

Sed

Bash

Vim

C

Markdown

Octave

Python

R

Regular Expressions

Cloud Computing

Datamining

Machine Learning

Competitive Programming

Algorithms & Data Structures

更多的没有列出,免费书地址或点击阅读原文:https://github.com/EbookFoundation/free-programming-books