专栏首页生信宝典一个月学会Python的Quora指南和资料放送

一个月学会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),作者:易生信

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 上天乎 |为什么学Python?

    现今计算机已进入了各行各业,无论是飞机上的自动驾驶仪,还是自行车上的数字速度计,似乎都在说各种形式的计算机在围绕着我们,帮助储存和访问信息,而在编程语言中,Py...

    生信宝典
  • Python学习没有捷径,但可以加速

    针对生信领域的零基础爱好者及生信分析中遇到的种种问题,生信领域知名公众号“生信宝典”团队组织了中科院系统项目经验丰富的一线科研人员开展系列培训活动。本期零基础P...

    生信宝典
  • 小学生都学Python了,你还不知道怎么开始

    最近Python又火了一把,一是我大山东省小学六年级的教材中加入了Python的内容;二是从2018年起,Python也将成为浙江高考的内容之一;三是计算机二级...

    生信宝典
  • 快收藏!史上最全156个Python网络爬虫资源

    awesome系列真是碉堡了~今天把Python的爬虫工具搬过来~ ——————译文分割线—————— 本列表包含Python网页抓取和数据处理相关的库。 网络...

    小小科
  • Java 跌落神坛!Python 正式登顶世界第一编程语言

    在最新一期榜单上,Python的份额高达26.42%,稳居第一,并且猛增5.2%,同时成为增长势头最好的语言。而被挤到第二的Java,目前份额为21.2...

    xcbeyond
  • Python数据分析

    工欲善其事,必先利其器“,Python是目前为止做数据分析最常用的编程语言,我们可以站在巨人的肩膀上,高效完成数据分析。

    数据山谷
  • 警惕!Python 正在慢慢失去魅力!

    自从 1990 年代初发布 Python 以来,它引起了很多炒作。当然,编程社区至少花了 20 年的时间才意识到它的存在,但是自那时以来,它的普及程度已经远远超...

    Python知识大全
  • 27岁去学python怎么样?

    目前python在我国的发展趋势越来越好,许多人刚毕业就去学python。而有些毕业许久的同学就会问:27岁去学python怎么样?下面就来说说这一方面的内容,...

    python学习教程
  • 详述 Mac 系统下安装及卸载 Python

    首先,登录 Python 官网,下载所需版本:Welcome to Python.

    py3study
  • 两天研习Python基础 介绍

    吉多·范罗苏姆(荷兰语:Guido van Rossum,1956年1月31日-),生于荷兰哈勒姆,计算机程序员,为Python程序设计语言的最初设计者及主要架...

    王诗翔呀

扫码关注云+社区

领取腾讯云代金券