欢迎关注天下博客:http://blog.genesino.com/2017/12/python-quora/
如何一个月学会使用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

  • Linux学习 - 常用和不太常用的实用awk命令
  • A User’s Guide for GNU AWK
  • An Awk Primer
  • Awk - Bruce Barnett
  • awk中文指南
  • awk程序设计语言

Sed

  • Linux学习 - SED操作,awk的姊妹篇
  • Sed - An Introduction and Tutorial

Bash

  • Linux学习-总目录
  • Bash概论 - Linux系列教程补充篇
  • 用了Docker,妈妈再也不担心我的软件安装了 - 基础篇
  • Docker —— 从入门到实践
  • 鸟哥的 Linux 私房菜 基础学习篇 (学的人应该比较多,但没读过)
  • 鸟哥的 Linux 私房菜 服务器架设篇
  • shell-book
  • Shell 编程基础
  • Shell 脚本编程30分钟入门
  • The Linux Command Line 中文版
  • Advanced Bash-Scripting Guide (很不错的书) - M. Cooper
  • Bash Guide for Beginners - M. Garrels
  • BASH Programming
  • Bash Reference Manual

Vim

  • [不用Linux也可以的强大文本处理方法-vim操作](http://mp.weixin.qq.com/s?__biz=MzI5MTcwNjA4NQ==&mid=2247484250&idx=1&am
    p;sn=d4759dc05a55643549646c77318c4f96&chksm=ec0dc6d0db7a4fc64791896914547b5ce818e8bd3cca98f0fb7bf6ebd9029fe6fd08a4
    d55255#rd)
  • Vim Manual(中文版)
  • 大家來學 VIM
  • A Byte of Vim
  • Learn Vim Progressively
  • Learn Vimscript the Hard Way
  • Use Vim Like A Pro - Tim Ottinger
  • Vi Improved – Vim - Steve Oualline (PDF)
  • Vim Recipes (PDF)
  • Vim Regular Expressions 101

C

  • 个人认为最好的还是The C Programming Language,经典中的经典。
  • A Tutorial on Pointers and Arrays in C - Ted Jensen (PDF, Zipped HTML)
  • Beej’s Guide to C Programming - B. Hall
  • Beej’s Guide to Network Programming - Using Internet Sockets - B. Hall
  • Build Your Own Lisp
  • C for Python Programmers - Carl Burch (Python用户可读,比较着学,更有利于提高)
  • C Programming - Wikibooks
  • C Programming Boot Camp - Paul Gribble
  • Deep C
  • Essential C (PDF)
  • Everything you need to know about pointers in C - Peter Hosey
  • Functional C (1997) - Pieter H. Hartel, Henk Muller (PDF)
  • Learn to Code With C - The MagPi Essentials (PDF)
  • Modern C (PDF)

Markdown

  • 应该学习的标记语言,写文档,很方便。
  • Learn Markdown - Sammy P., Aaron O. (PDF) (EPUB) (MOBI)
  • Markdown 快速入门
  • Markdown 简明教程
  • Markdown 语法说明
  • 献给写作者的 Markdown 新手指南

Octave

  • Octave Programming (Andrew Ng的机器学习课使用的语言,开源版MatLab,学一点当个乐子)

Python

  • [Python学习极简教程 (一)(我的教程尽快更新到Python3)](http://mp.weixin.qq.com/s?__biz=MzI5MTcwNjA4NQ==&mid=2247483866&idx=1&sn=310
    341a1c8d348958c304df03dfd06a0&chksm=ec0dc450db7a4d46e369637cd2867b0e56389bf4f2e1d0dce409bba38882e61e5063308a13af#r
    d)
  • Django 1.8 中文文档
  • Django book 2.0
  • Python 3 文档(简体中文) 3.2.2 documentation
  • Python Cookbook第三版 (作者:David Beazley, Brian K.Jones 翻译:熊能)
  • Python 中文学习大本营
  • Python之旅 (作者:Ethan)
  • Python教程 - 廖雪峰的官方网站
  • 像计算机科学家一样思考Python (Downey教授的Think系列书都是不错的,讲解简单清晰) (中英对照版 作者:Allen B. Downey 翻译:大胖哥)
  • 深入 Python 3
  • 笨办法学 Python
  • 简明 Python 教程 (很方便的小册子) (作者:Swaroop C H 译者:沈洁元、漠伦)
  • 20 Python Libraries You Aren’t Using (But Should) (Just fill the fields with any values)
  • A Beginner’s Python Tutorial
  • A Byte of Python (3.x) (HTML, PDF, EPUB, Mobi)
  • A Guide to Python’s Magic Methods - Rafe Kettler
  • A Whirlwind Tour of Python - Jake VanderPlas (PDF) (EPUB, MOBI)
  • Automate the Boring Stuff - Al Sweigart
  • Biopython (用到了查查就好) (PDF)
  • Build applications in Python the antitextbook (3.x) (HTML, PDF, EPUB, Mobi)
  • Building Machine Learning Systems with Python - Willi Richert & Luis Pedro Coelho, Packt. (Just fill the fields with any values)
  • Building Skills in Object-Oriented Design (Python) (PDF) (2.1.1)
  • Building Skills in Python (PDF) (2.6)
  • Code Like a Pythonista: Idiomatic Python
  • CodeCademy Python
  • Composing Programs (3.x)
  • Data Structures and Algorithms in Python - B. R. Preiss (PDF)
  • Dive into Python 3 - Mark Pilgrim (3.0)
  • From Python to NumPy
  • Full Stack Python
  • Functional Programming in Python (Just fill the fields with any values)
  • Fundamentals of Python Programming - Richard L. Halterman (PDF) (3.2)
  • Google’s Python Style Guide
  • Hacking Secret Cyphers with Python - Al Sweigart (3.3)
  • Hadoop with Python (Just fill the fields with any values)
  • High Performance Python (PDF)
  • Hitchhiker’s Guide to Python! (2.6)
  • How to Make Mistakes in Python - Mike Pirnat (PDF) (1st edition)
  • How to Think Like a Computer Scientist: Learning with Python, Interactive Edition (推荐) (3.2)
  • Think Python (Think系列) - Allen B. Downey (2.x & 3.0)
  • Intermediate Python - Muhammad Yasoob Ullah Khalid (1st edition)
  • Introduction to Programming with Python (3.3)
  • Introduction to Python - Kracekumar (2.7.3)
  • Learn Python, Break Python
  • Learn Python in Y minutes
  • Learn Python The Hard Way (2.5 - 2.6)
  • Learn to Program Using Python - Cody Jackson (PDF)
  • Learning Python - Fabrizio Romano, Packt. (Just fill the fields with any values)
  • Lectures on scientific computing with python - J.R. Johansson (2.7)
  • Modeling Creativity: Case Studies in Python - Tom D. De Smedt (PDF)
  • Natural Language Processing with Python (3.x)
  • Non-Programmer’s Tutorial for Python 3 (3.3)
  • Python Cookbook - David Beazley
  • Python Data Science Handbook - Jake VanderPlas (HTML, Jupyter Notebooks)
  • Python for Everybody Exploring Data Using Python 3 - Charles Severance (PDF, EPUB, HTML)
  • Python for you and me (3.x)
  • Snake Wrangling For Kids (3.x)
  • Suporting Python 3: An In-Depth Guide (2.6 - 2.x & 3.1 - 3.x)
  • The Standard Python Library - Fredrik Lundh
  • Think Complexity - Allen B. Downey (2nd Edition) (PDF, HTML)
  • Pandas,让Python像R一样处理数据,但快
  • Learn Pandas (版本老了,有新的付费书(Python for data analysis),网上也许有电子版) - Hernan Rojas (0.18.1)

R

  • 在R中赞扬下努力工作的你,奖励一份CheetShet
  • [R语言学习 - 入门环境Rstudio](http://mp.weixin.qq.com/s?__biz=MzI5MTcwNjA4NQ==&mid=2247483882&idx=1&sn=e
    16903b4b745a1ef51855be3824149f6&chksm=ec0dc460db7a4d76a70bd4ca2d250f147225252ee963d3e577affaebeeb81dea1ff639d5e9aa

rd)

  • [R语言学习 - 热图绘制 (heatmap)](http://mp.weixin.qq.com/s?__biz=MzI5MTcwNjA4NQ==&mid=2247483889&idx=1&s
    n=9c9970cb120ac1e976713aca558ac9bf&chksm=ec0dc47bdb7a4d6d6441e36055aa075b03d5592862eae01c05761e5972b39a62cf2228b19
    787#rd)
  • [R语言学习 - 基础概念和矩阵操作](http://mp.weixin.qq.com/s?__biz=MzI5MTcwNjA4NQ==&mid=2247483891&idx=1&s
    n=40daf6435398c4d9a41f332e9bba4915&chksm=ec0dc479db7a4d6fec413bfb90a4660eb035b440d2bbee998114f7af29e3b3338a8adf625
    40a#rd)
  • 153分钟学会 R (PDF)
  • R 导论 (《An Introduction to R》中文版) (PDF)
  • 用 R 构建 Shiny 应用程序 (《Building ‘Shiny’ Applications with R》中文版)
  • 统计学与 R 读书笔记 (PDF)
  • Advanced R Programming (大神之作) - Hadley Wickham
  • An Introduction to Statistical Learning with Applications in R - Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani (PDF)
  • Cookbook for R - Winston Chang
  • Introduction to Probability and Statistics Using R - G. Jay Kerns (PDF)
  • Learning Statistics with R - Daniel Navarro
  • Machine Learning with R - Brett Lantz, Packt. (Just fill the fields with any values)
  • ModernDive - Chester Ismay and Albert Y. Kim
  • Practical Regression and Anova using R - Julian J. Faraway (PDF)
  • R for Data Science - Garrett Grolemund and Hadley Wickham
  • R Language for Programmers - John D. Cook
  • R Packages - Hadley Wickham
  • R Practicals (PDF)
  • R Programming
  • R Programming for Data Science (Needs valid email)
  • R Succinctly, Syncfusion (PDF, Kindle) (Just fill the fields with any values)
  • The caret Package - Max Kuhn
  • The R Inferno (短小精悍) - Patrick Burns (PDF)
  • The R Language
  • The R Manuals
  • Tidy Text Mining with R - Julia Silge and David Robinson

Regular Expressions

  • Learn Regex The Hard Way - Zed. A. Shaw
  • RexEgg
  • The 30 Minute Regex Tutorial - Jim Hollenhorst
  • The Bastards Book of Regular Expressions: Finding Patterns in Everyday Text - Dan Nguyen
  • 正则表达式-菜鸟教程
  • 正则表达式30分钟入门教程

Cloud Computing

  • Monitoring Modern Infrastructure (account required)
  • Multi-tenant Applications for the Cloud, 3rd Edition
  • OpenStack Operations Guide

Datamining

  • A Programmer’s Guide to Data Mining - Ron Zacharski (Draft)
  • Data Jujitsu: The Art of Turning Data into Product (Just fill the fields with any values)
  • Data Mining Algorithms In R
  • Internet Advertising: An Interplay among Advertisers, Online Publishers, Ad Exchanges and Web Users (PDF)
  • Introduction to Data Science - Jeffrey Stanton
  • Mining of Massive Datasets
  • School of Data Handbook
  • Theory and Applications for Advanced Text Mining

Machine Learning

  • 一部分,还有其他比较适合初级学习的,如集体智慧编程 (Programming Collective Intelligence)
  • A Brief Introduction to Neural Networks
  • A Course in Machine Learning (PDF)
  • A First Encounter with Machine Learning (PDF)
  • An Introduction to Statistical Learning - Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani
  • Bayesian Reasoning and Machine Learning
  • Deep Learning - Ian Goodfellow, Yoshua Bengio and Aaron Courville
  • Gaussian Processes for Machine Learning
  • Information Theory, Inference, and Learning Algorithms
  • Introduction to Machine Learning - Amnon Shashua
  • Learn Tensorflow - Jupyter Notebooks
  • Learning Deep Architectures for AI (PDF)
  • Machine Learning
  • Machine Learning, Neural and Statistical Classification
  • Neural Networks and Deep Learning
  • Probabilistic Models in the Study of Language (Draft, with R code)
  • Reinforcement Learning: An Introduction
  • The Elements of Statistical Learning - Trevor Hastie, Robert Tibshirani, and Jerome Friedman
  • The LION Way: Machine Learning plus Intelligent Optimization
  • The Python Game Book

Competitive Programming

  • Competitive Programmer’s Handbook - Antti Laaksonen (PDF)
  • Competitive Programming, 1st Edition (PDF)

Algorithms & Data Structures

  • 算法部分还是了解都有什么,找一下比较有意思的帖子看起,刘未鹏的http://mindhacks.cn/是很好的入口,很好的思维,也推荐了很多心理、逻辑的书。
  • A Field Guide To Genetic Programming
  • Algorithmic Graph Theory
  • Algorithms, 4th Edition - Robert Sedgewick and Kevin Wayne
  • Algorithms and Automatic Computing Machines (1963) - B. A. Trakhtenbrot
  • Algorithms and Complexity (PDF)
  • Algorithms Course Materials - Jeff Erickson
  • Analysis and Design of Algorithms - Sandeep Sen, IIT Delhi
  • Animated Algorithm and Data Structure Visualization (Resource)
  • Annotated Algorithms in Python: Applications in Physics, Biology, and Finance - Massimo di Pierro
  • Binary Trees (PDF)
  • Clever Algorithms
  • CS Unplugged: Computer Science without a computer
  • Data Structures - Prof. Subhashis Banerjee, IIT Delhi
  • Data Structures (Into Java) - Paul N. Hilfinger (PDF)
  • Data Structures and Algorithms: Annotated Reference with Examples - G. Barnett and L. Del Tongo (PDF)
  • Data Structures Succinctly Part 1, Syncfusion (PDF, Kindle) (Just fill the fields with any values)
  • Data Structures Succinctly Part 2, Syncfusion (PDF, Kindle) (Just fill the fields with any values)
  • Elementary Algorithms - Larry LIU Xinyu
  • Foundations of Computer Science - Al Aho and Jeff Ullman
  • Handbook of Graph Drawing and Visualization
  • Lectures Notes on Algorithm Analysis and Computational Complexity (Fourth Edition) - Ian Parberry (use form at bottom of license)
  • LEDA: A Platform for Combinatorial and Geometric Computing
  • Linked List Basics (PDF)
  • Linked List Problems (PDF)
  • Matters Computational: Ideas, Algorithms, Source Code (PDF)
  • Open Data Structures: An Introduction - Pat Morin
  • Planning Algorithms
  • Problems on Algorithms (Second Edition) - Ian Parberry (use form at bottom of license)
  • Purely Functional Data Structures (PDF)
  • Sequential and parallel sorting algorithms
  • Text Algorithms (PDF)
  • The Algorithm Design Manual
  • The Art of Computer Programming - Donald Knuth (fascicles, mostly volume 4)
  • The Design of Approximation Algorithms (PDF)
  • The Great Tree List Recursion Problem (PDF)
  • Think Complexity (PDF)

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

一个月学会Python的Quora指南和资料放送相关推荐

  1. 如何用一个月学会python?

    如何用一个月学会python? python目前应用最广的三个岗位:全栈开发.数据分析.运维开发,今天我们就以这三个重点的岗位来做一下自学Python的规划,希望你在学之前就能有明确的学习方向. 最近 ...

  2. 一个月学会Python,零基础入门数据分析

    在数据分析领域,python是一个绕不开的知识和工具,如果不会用python就很难说自己会数据分析,但是最近很多想要入门数据分析的小白经常问我,Python怎么入门?Python虽然被称作是" ...

  3. python一个月能掌握吗_零基础python入门分析,如何做到一个月学会(深思极恐)...

    在数据分析领域,python是一个绕不开的知识和工具,如果不会用python就很难说自己会数据分析,但是最近很多想要入门数据分析的小白经常问我,Python怎么入门?Python虽然被称作是" ...

  4. python零基础怎么学-零基础python入门分析,如何做到一个月学会(深思极恐)

    在数据分析领域,python是一个绕不开的知识和工具,如果不会用python就很难说自己会数据分析,但是最近很多想要入门数据分析的小白经常问我,Python怎么入门?Python虽然被称作是" ...

  5. 一个月入门Python爬虫,轻松爬取大规模数据

    如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方面,像 Python这样一个月入门Python爬虫,轻松爬的编程语言提供越来越多的优秀工具,让爬虫 ...

  6. 2018最后一个月的Python热文Top10!赶紧学起来~

    作者 | Mybridge 译者 | linstancy 整理 | Jane 出品 | AI科技大本营 过去一个月里,我们对近 1000 篇 Python 文章进行了排名,并挑选出热度前10的文章.这 ...

  7. python入门应该学什么专业好_真的能半个月学会Python吗?(文末附python入门进阶教程)...

    这里为什么用 Python 举例呢? 因为在很多人看来,Python 比较"简单". 写这篇文章主要是因为我在知乎上看到了一条有趣的动态: 该条动态的作者认为一个高考600分以上的 ...

  8. 如何在一个月学会python?

    python目前应用最广的三个岗位:全栈开发.数据分析.运维开发,今天我们就以这三个重点的岗位来做一下自学Python的规划,希望你在学之前就能有明确的学习方向. 最近开始整理python的资料,博主 ...

  9. 零基础一个月学会这些就能成为初级CSS前端开发工程师

    一个月的时间,成为一个初级的css前端开发工程师?作为一个混迹前端圈几年的码界小姐姐的我来说,我觉得还是蛮难的,毕竟前端这个东西技术的含金量还是蛮高的,不然你觉得关于程序员月入几万都是大风吹来的吗,虽 ...

最新文章

  1. 【ACM】家喻户晓的中药店(待更)
  2. RGBA和ARGB的区别
  3. web常见几种处理图标方法 【转】
  4. 第18条:接口优于抽象类
  5. ActiveMQ安装
  6. C语言实现了一个具有头结点的单链表(附完整源码)
  7. 学python编程_学习Python编程,我们应该如何学?学习内容包括哪些?
  8. java基础进阶(文件列表,线程,线程组)编程实例(4篇)
  9. ASP.NET Core 2.0 支付宝当面付之扫码支付
  10. tf.reduce_sum()方法深度解析
  11. 关于大型网站技术演进的思考(四)--存储的瓶颈(4)
  12. AcWing1075. 数字转换(树形DP)题解
  13. Google Guava之--cache
  14. spring学习--基于注解方式创建对象AOP
  15. criteria函数_1.2.21 EXCEL篇之函数篇-数学与三角函数1
  16. mysql sql delete语句_SQL Delete语句
  17. 能源管理系统在企业中的应用及系统介绍
  18. 数据库与REDIS缓存数据一致性解决方案
  19. ES5实现组合继承的原理
  20. python统计词频瓦尔登湖_点评《瓦尔登湖》

热门文章

  1. 【Git】GitHub无法解析Latex语句的解决方法
  2. 洛谷入门题P1008、P1035、P1423、P1424、P1980题解(Java语言描述)
  3. 第123天:移动web开发中的常见问题
  4. 平衡二叉树中需要旋转的情况
  5. backtype.storm.generated.InvalidTopologyException:null问题的解决
  6. [LeetCode]题解(python):008-String to Integer (atoi)
  7. windows 7/2008系统字体变成黑体解决
  8. mysqldump的几个主要选项探究
  9. “一个人自修没感觉!”
  10. 看完这篇你就明白,为什么说大部分企业建设数据中台都会失败?