||
一个月学会Python的Quora指南和资料放送
Jump to...
如何一个月学会使用Python
文章翻译自Quora上的回帖,略有改动。原文链接:https://www.quora.com/What-are-the-best-tips-for-learning-Python-within-one-month
谷歌搜索“Python programming fundamentals” (Python编程基础),选择一个较好的网站,并针对其中的教程部分进行阅读和练习。这需要一周每天8小时的学习和练习来加强你的理解。记住:不要死记句法规则,每当你需要某个句法并使用时,会自然而然地记住。不过,最开始,多看几遍也不为过。书读多遍,其义自见。
如果不想搜索,我们在小学生都学Python了,你还不知道怎么开始提供了不少教程。而且还有自写的Python系列简明教程,精简版。可以作为小册子读用。
语法查找的话有Python cookbook,这里有中文翻译版本http://python3-cookbook.readthedocs.io/zh_CN/latest/preface.html (书中的所有源代码也可在此书的前言页面获取)。
选择一个课题并试着完成它。
有以下建议:
不要想的太多,选择一个基础的项目,或者google搜索“beginner python projects” (新手python课题)。Python生信练习题。
不必记住句法规则,当遇到困难时上网搜索便可得到提示。
使用IDE (Integrated Development Environment) (可以更简单的debug以及运行程序)。如PyCharm、Jupyter notebook。
将项目拆分为几个小的部分。
例如如果你要做一个计算器,那么:
(1)先设想界面,在深入到各个按钮。
(2)将加减乘除等功能放入到相应按钮中。
可以借助Stackoverflow等网站。请在理解内容的基础上进行复制粘贴。
这个过程会比较艰辛,需要有毅力来强迫自己解决遇到的问题。
当遇到难题时:
(1)使用搜索引擎,注意输入更明确的搜索字段。
(2)如果不没能搜索出答案,可以把问题放到论坛上去。如何提问
编程时适当休息,转换心情。
花时间学一下版本控制 (version control) 的基础,推荐git这个网站。
慢慢学习如何debug。个人认为最好的debug,是打印出程序运行的关键过程,查看每一步是否符合预期。
在编写程序前,确保自己已经有了实际理论解决方案。可以事先笔头画出问题的解决方案流程。
编写完程序后,试着花几个小时来测试并从中改进学习。在一个小问题上,不断拓展,就可以深入。
当一个难题解决不了时,不要气馁。先去做别的部分,再返回来重新思考。
首先保证程序没有运行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库,里面包含了很多免费,大部分优质的书籍,部分相关的列举如下 (可点击的都是生信宝典之前发过的文章),读过的付一点心得体会。可直接访问最后的网址跳到原网页,或点击阅读原文,每个链接都可点。
Advanced Bash-Scripting Guide (很不错的书) - M. Cooper
Bash Guide for Beginners - M. Garrels
Use Vim Like A Pro - Tim Ottinger
Vi Improved – Vim - Steve Oualline (PDF)
Vim Recipes (PDF)
个人认为最好的还是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
C for Python Programmers - Carl Burch (Python用户可读,比较着学,更有利于提高)
C Programming - Wikibooks
Essential C (PDF)
Everything you need to know about pointers in C - Peter Hosey
Functional C (1997) - Pieter H. Hartel, Henk Muller (PDF)
Modern C (PDF)
应该学习的标记语言,写文档,很方便。
Learn Markdown - Sammy P., Aaron O. (PDF) (EPUB) (MOBI)
Python Cookbook第三版 (作者:David Beazley, Brian K.Jones 翻译:熊能)
Python之旅 (作者:Ethan)
像计算机科学家一样思考Python (Downey教授的Think系列书都是不错的,讲解简单清晰) (中英对照版 作者:Allen B. Downey 翻译:大胖哥)
简明 Python 教程 (很方便的小册子) (作者:Swaroop C H 译者:沈洁元、漠伦)
20 Python Libraries You Aren’t Using (But Should) (Just fill the fields with any values)
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)
Composing Programs (3.x)
Data Structures and Algorithms in Python - B. R. Preiss (PDF)
Dive into Python 3 - Mark Pilgrim (3.0)
Functional Programming in Python (Just fill the fields with any values)
Fundamentals of Python Programming - Richard L. Halterman (PDF) (3.2)
Hacking Secret Cyphers with Python - Al Sweigart (3.3)
Hadoop with Python (Just fill the fields with any values)
High Performance Python (PDF)
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 Python - Kracekumar (2.7.3)
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)
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)
Learn Pandas (版本老了,有新的付费书(Python for data analysis),网上也许有电子版) - Hernan Rojas (0.18.1)
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 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)
Tidy Text Mining with R - Julia Silge and David Robinson
Learn Regex The Hard Way - Zed. A. Shaw
The 30 Minute Regex Tutorial - Jim Hollenhorst
The Bastards Book of Regular Expressions: Finding Patterns in Everyday Text - Dan Nguyen
Monitoring Modern Infrastructure (account required)
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)
Internet Advertising: An Interplay among Advertisers, Online Publishers, Ad Exchanges and Web Users (PDF)
Introduction to Data Science - Jeffrey Stanton
一部分,还有其他比较适合初级学习的,如集体智慧编程 (Programming Collective Intelligence)
An Introduction to Statistical Learning - Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani
Deep Learning - Ian Goodfellow, Yoshua Bengio and Aaron Courville
Introduction to Machine Learning - Amnon Shashua
Learn Tensorflow - Jupyter Notebooks
Probabilistic Models in the Study of Language (Draft, with R code)
The Elements of Statistical Learning - Trevor Hastie, Robert Tibshirani, and Jerome Friedman
The LION Way: Machine Learning plus Intelligent Optimization
Competitive Programmer’s Handbook - Antti Laaksonen (PDF)
算法部分还是了解都有什么,找一下比较有意思的帖子看起,刘未鹏的http://mindhacks.cn/是很好的入口,很好的思维,也推荐了很多心理、逻辑的书。
Algorithms, 4th Edition - Robert Sedgewick and Kevin Wayne
Algorithms and Automatic Computing Machines (1963) - B. A. Trakhtenbrot
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)
Data Structures - Prof. Subhashis Banerjee, IIT Delhi
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
Lectures Notes on Algorithm Analysis and Computational Complexity (Fourth Edition) - Ian Parberry (use form at bottom of license)
Linked List Basics (PDF)
Linked List Problems (PDF)
Open Data Structures: An Introduction - Pat Morin
Problems on Algorithms (Second Edition) - Ian Parberry (use form at bottom of license)
Text Algorithms (PDF)
The Art of Computer Programming - Donald Knuth (fascicles, mostly volume 4)
Think Complexity (PDF)
免费书地址:https://github.com/EbookFoundation/free-programming-books
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2025-1-10 01:59
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社