一个月学会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 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构架来提高自己的手法。

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

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

Awk

Sed

Bash

Vim

  • 不用Linux也可以的强大文本处理方法 (Vim操作)
  • 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)
  • 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)
  • 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.
  • 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
  • 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
  • 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语言学习 - 入门环境Rstudio
  • R语言学习 - 热图绘制 (heatmap)
  • R语言学习 - 基础概念和矩阵操作
  • 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.
  • 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)
  • 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
  • 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)
  • Think Complexity (PDF)

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

原文发布于微信公众号 - 生信宝典(Bio_data)

原文发表时间:2017-12-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python爬虫与算法进阶

爬取 Stackoverflow 100 万条问答并简单分析

作为一个热爱编程的大学生,怎么能不知道面向 stackoverflow 编程呢。 打开 stackoverflow 主页,在 questions 页面下选择按...

36650
来自专栏施炯的IoT开发专栏

Alpha Blending and Alpha Channel on Windows Mobile

      2007年的时候,Alex在《Compelling UI's in NetCF anybody?》一文中,讲述了windows mobile 5平台...

227100
来自专栏一心无二用,本人只专注于基础图像算法的实现与优化。

VB.NET中图像处理的一些技巧以及其和C#图像处理的差距。

 早期的时候我使用的开发工具是VB6,VB6做图像处理的速度在我的软件Imageshop中有所体现,还是算可以的。目前,我已经改用C#来研究图像算法,C#中有...

21550
来自专栏个人随笔

Java 骚操作--生成二维码

46960
来自专栏生信技能树

【文献】 新一代测序技术(NGS) 的十年之旅

标题:Coming of age: ten years of next-generation sequencing technologies

16140
来自专栏深度学习之tensorflow实战篇

require(Rwordseg)分析案例展示(未去冠词以及无意义的词)

看网络上很多朋友都在用“Rwordseg”程序包进行分词练习。我也忍不住进行了一次实验。 首先,肯定是装程序包了,个人感觉是废话,纯凑字数。 如下是...

29940
来自专栏落影的专栏

基于视锥体(平截体)的OpenGL ES性能优化

教程 OpenGLES入门教程1-Tutorial01-GLKit OpenGLES入门教程2-Tutorial02-shader入门 OpenGLES入门...

35870
来自专栏用户画像

2.1.3 编码与调制

数据无论是数字的还是模拟的,为了传输的目的都必须转变成信号,把数据变换为模拟信号的过程称为调制,把数据变换为数字信号的过程称为编码。

8410
来自专栏HT

数百个 HTML5 例子学习 HT 图形组件 – 3D建模篇

http://www.hightopo.com/demo/pipeline/index.html ? 《数百个 HTML5 例子学习 HT 图形组件 – Web...

324100
来自专栏Crossin的编程教室

【编程课堂】jieba-中文分词利器

0、前言 在之前的文章【编程课堂】词云 wordcloud 中,我们曾使用过 jieba 库,当时并没有深入讲解,所以本次将其单独列出来详细讲解。 jieba库...

386110

扫码关注云+社区

领取腾讯云代金券