好的技术书籍可以帮助我们快速地成长,大部分人或多或少地受益于经典的技术书籍。在「Python开发者」微信公号后台,我们经常能收到让帮忙推荐书籍的消息。这类的问题在@Python开发者 微博 和 伯乐在线的 Python小组 讨论中也不绝于耳。
7月3日,伯乐在线在「Python开发者」微信公号发起了一个讨论 (注:PC端无法看到大家的评论,需要关注微信公号后,从微信才可以看到),通过这个讨论话题,在评论中分享对自己帮助很大的Python技术书籍。 入门级《Head First Python》+ 入门级 + 微信49票 + 豆瓣评分 9.5 推荐语:
《集体智慧编程》+ 入门级 + 微信123票 + 豆瓣评分 9.0 推荐语:
《Python源码剖析》+ 入门级 + 58票 + 豆瓣评分 8.7 推荐语:
《A Byte of Python》+ 入门级 + 61票 + 豆瓣评分 8.8 推荐语:
《与孩子一起学编程》+ 入门级 + 29票 + 豆瓣评分 8.5 推荐语:
《利用 Python 进行数据分析》+ 入门级 + 123票 + 豆瓣评分 8.5 推荐语:
《Python学习手册(第四版)》+ 入门级 + 127票 + 豆瓣评分 8.2 推荐语:
《Think Python》+ 入门级 + 41票 + 豆瓣评分 8.2 推荐语:
《Python 基础教程》+ 入门级 + 29票 + 豆瓣评分 8.0 推荐语:
《笨办法学Python》+ 入门级 + 93票 + 豆瓣评分 8.0 推荐语:
《Python算法教程》+ 入门级 + 127票 + 豆瓣评分 7.7 推荐语:
《Python核心编程》+ 入门级 + 100票 + 豆瓣评分 7.4 推荐语:
Python官方手册 + 入门级 + 66票 推荐语:
网站 www.python-course.eu + 入门级 + 21票 推荐语:
进阶级《Flask Web开发:基于Python的Web应用开发实战》+ 进阶级 + 29票 + 豆瓣评分 8.6 推荐语:
《Python Cookbook(第三版)》+ 进阶级 + 微信 347 票 + 豆瓣评分 8.4 推荐语:
《Python科学计算》+ 进阶级 + 156 票 + 豆瓣评分 8.0 推荐语:
《Python编程实战:运用设计模式、并发和程序库创建高质量程序》+ 进阶级 + 24票 + 豆瓣评分 7.8 推荐语:
《Python绝技:运用Python成为顶级黑客》+ 进阶级 + 192票 推荐语:
《Beginning Python Games Development》+ 进阶级 + 55票 推荐语:
《Fluent Python》 + 进阶级 + 12 票 推荐语:
你也可以来推荐以上推荐和点赞是来自微信「开发者」微信公号,你也可以在本文评论中,用以下格式来荐上述列表中没有出现的好书: 《书籍名称》、入门级 or 进阶级、一句话推荐语 让更多人知道后续我们将不断通过微信、微博和网站等来宣传这个经典Python技术书单。推荐人将一直署名在其中。如果这个经典Python技术书籍列表让你受益,请帮忙通过朋友圈、微博、QQ空间等途径扩散给更多人,谢谢! A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch? 本文 主要 针对 零基础 想学习Python者。本文本文由@史江歌( QQ:499065469)根据互联网资料收集整理而成,感谢互联网,感谢各位的分享。鸣谢!本文会不断更新。 《如何用好Google搜索引擎?》 知乎问答@崔凯 《十大高明的Google搜索技巧》by-雪影蓝风 《如何用好Google》 by-李笑来 二、学会提问推荐阅读 《提问的智慧》 by-啄木鸟社区 《提问的智慧》 务必请读完! 三、书籍推荐零基础
有其他编程语言基础
进阶
更多书籍推荐
四、视频推荐麻省理工公开课《计算机科学及编程导论》,该课程针对零基础者 网易公开课 。 课程介绍 这门课程适用于那些拥有 很少或没有编程经验 的学生,它致力于使学生理解计算机在解决问题中的作用,并且帮助学生, 不论其专业,使他们对于能够完成有用的小程序的目标充满信心。 五、学习方法知乎问答:零基础,应当如何开始学习 Python ?--by@黎敏虽然我不是Python高手,但我是零基础,之前会的都是软件PS,PPT之类。 如果目的是想成为程序员,参考教学大纲。 如果只是学程序,理解科技,解决工作问题,我的方式可以参考使用:
比如,想偷懒抓网页内容,用urllib不行,用request也不行,才发现抓取内容涉及那么多方面(cookie,header,SSL,url,javascript等等),当然可以听人家劝,回去好好读书,从头读。 或者,不求效率,只求解决,用ie打开网页再另存为行不行?ie已经渲染过全部结果了。 问题变成:1--打开指定的10个网页(一行代码就行)。更复杂的想保存呢?利用已经存在的包,比如PAM30(我的是Python3),直接打开ie,用函数outHTML另存为文本,再用搜索函数(str搜索也行,re正则也行) 找到数据。简单吧?而且代码超级短。
我觉得学程序就像学英文,把高频率的词(循环,判断,常用包,常用函数)搞懂,就能拼装成自己想要的软件。 然后,http://stackoverflow.com 和 http://Google.com 是很好用的。 然后,坚持下去。 一定要保持兴趣,太复杂的跳过,就像小学数学,小学英语,都是由简入深。 网络很平面,无数国际大牛著作好书,关于Python,算法,电脑,网络,或者程序员思路,或者商业思维(浪潮之巅是本好书)等等,还有国际名校的网络公开课(中英文字幕翻译完毕,观看不是难事),讲计算机,网络,安全,或者安卓系统,什么都有,只要能持续保持兴趣,一点点学习下去,不是难事。 所有天才程序员,都曾是儿童,回到儿童思维来理解和学习。觉得什么有趣,先学,不懂的,先放着,遇到问题再来学,效果更好。 唯一建议是,不要太贪心,耐心学好一门优雅的语言,再学其它。虽然Javascript做特效很炫,或提某问题时,有大牛建议,用Ruby来写更好之类,不要改方向。就像老笑话:“要学习递归,必须首先理解递归。”然后死循环一直下去。坚持学好一门语言,再研究其他。 即使一门语言,跟网络,数据库等等相关的部分,若都能学好,再学其他语言,是很快的事情。 另外就是,用学英文的耐心来学计算机,英文遇到不懂的词,抄下,查询。 python里,看到Http,查查定义,看到outHtml,查查定义,跟初学英语时候一样,不要直接猜意思,因为精确描述性定义,跟含糊自然语有区别的。而新人瞎猜,很容易错误理解,wiki,google很有用。 芝麻问答:如何学习Python 点击打开链接作者:@halida如何学习python我们假设你是一个初级程序员, 只懂得一点点的基础知识, 希望能够用python来做开发. 这篇文档就是为了满足以上目标而写的. 大纲 按照这篇文档所指示的任务过一遍, 你就能够做到: 熟悉python语言, 以及学会python的编码方式. 熟悉python库, 遇到开发任务的时候知道如何去找对应的模块. 知道如何查找和获取第三方的python库, 以应付开发任务. 学习步骤 安装开发环境 如果你在window下, 去下载pythonxy安装起来, 然后运行python, 进入python解释环境. 如果你在ubuntu下, 执行: sudo apt-get install python, 然后在命令行下运行python, 进入python解释环境. 学习方法 作为一名成熟的开发人员, 我学习新东西(假设是pyqt)的习惯方式是: 直接用google搜索pyqt的官方网站. 按照官方网站的说明, 下载pyqt. (如果是用ubuntu, 看看软件库里面是否有足够新的版本) 下载过程中, 开始阅读官方网站上面的教程. 一边看教程, 一遍按照教程使用pyqt. 如果发现教程不够全面, 用google搜索是否有对应的教学书籍可以看. 示例学习完毕, 开发一个玩具程序, 用来检验自己是否需要用到的功能. 开始学习python 我建议你学习的过程也按照上面来, 首先过一遍python官方文档: http://docs.python.org/tutorial/index.html 然后做 http://www.pythonchallenge.com/ 这个网站上面的题目. 如果卡在某一关太久, 可以看答案(google python challenge answer), 做完后看看别人的编码方式和自己有什么区别. 小项目 做完一遍后, 你会发现已经熟悉了基本的python开发. 然后做点小项目吧. 这里是一些题目, 挑感兴趣的去做.
FAQ Q: 遇到了问题, 到哪里求助? A: 上 http://groups.google.com/group/python-cn (需要翻墙) 或者 http://stackoverflow.com 提问就可以了. Q: 如何查找python的某个功能? A: 看官方文档. http://docs.python.org/library/index.html Q: 如何用python完成一个任务(比如写网站)? A: google: python 写网站, 或者 google: python web development. 知乎问答:你是如何自学 Python 的?点击打开链接 作者:@成增存阶段一:前辈领进门。 第一眼是一个前辈给我看了看Python的代码,因为自己最早学习的是Java语言,第一眼看到Python的时候,前辈说,“Python是面向对象的”,然后就 打印了几句代码。可我怎么也看不出到底哪里是“面向对象”的。前辈说“在Python里,一切皆对象”,我才有点领悟的说道:“原来把什么看成对象,就是面向对象”,哈哈。 阶段二:开始看的是《Dive into Python》、《Leaning python》、《Python Doc》。 因为有很多语言学习经历,很快就完成了初步语法和使用学习。太复杂的特性还是在使用中逐步掌握的。 阶段三:开始使用Python做自己的一些日常工作。 比如Python搜索文件,Python批量处理等,使用最多的还是re模块和socket相关模块。写了大量的例子,让自己对Python更加喜爱,也更加熟悉。此时翻阅最多的是《Python Doc》的指南。不管是语言参考、库参考、Demo参考,都有大量可使用的内容,内容质量很高堪比JDK。 阶段四:生产上马。 开始使用Django,Flask,Tornado开发一些web应用,写一些日常使用的工具包等。逐步提升设计能力,和整体代码的管理能力。 阶段五:更合理的分配好C,Java,Python三门语言各自擅长的部分。 把合适的语言用到合适的地方。尽管一门语言有时候可以搞定所有的,但用擅长的语言解决合适的问题才是效率最高的。这也是“Python的大道至简”的理念带给我的帮助和认识。 PS:其中过程中主要的一些 方法 :
六、Just Do It看了这么多资料了,还没动手敲代码? 好吧,最好一篇文章《我在学习编程中犯的两个 最大错误 》点击打开链接 Just do it 。动手敲代码吧。 注:本文由@史江歌()根据互联网资料收集整理而成。 七、更新Python技术博客、招聘、开源软件、Python中文网站导航 遇到python问题怎么样解决?python help dir stackoverflow docs google 在线视频教学(英文)codecademy 英文Python for beginners 英文How do I learn Python from zero to web development?(各种电子书推荐)点击打开链接 Python应用与实践 Python是什么?谁在用它?相关工具?作者:@吴秦 Python模块学习 相当于翻译官网文档 针对有其他语言经验的人,英文:Learn X in Y minutes 中文翻译Y分钟学会Python(译) PyCoder’s Weekly 中文翻译 说明:文章质量很高 PEP 20 (Python之禅) 的实例 说明:code_stype Unicode之痛 必读 有关 Python 2 和 Sublime Text 中文 Unicode 编码问题的分析与理解 必读 stackoverflow上Python相关回答整理翻译 Python语言总结-初级中级高级教程 作者:@Crifan Li Python Guide Python 最佳实践(英文) Python 最佳实践指南(中文) 关于Python安装、配置、和日常使用的最佳实践手册。 Python 最佳实践指南 2018 Python 日常使用的最佳实践,高级 Python 开发者必知必会的知识 《码农周刊》干货精选(Python 篇) 精选总结 Python 3 Module of the Week Python 标准库的使用 Python - 100天从新手到大师 100天从新手到大师 Python 和 Diango 学习资料,书籍,文章,以及实战项目 What the f*ck Python! https://github.com/leisurelicht/wtfpython-cn 八、爬虫以及模拟登陆新浪微博知乎:Python 爬虫如何入门学习 Python爬虫学习系列教程 @崔庆才系列教程,入门、实战、爬虫利器介绍、进阶 Python模拟登录新浪微薄(使用RSA加密方式和Cookies文件) http://uliweb.clkg.org/tutorial/view_chapter/240 一个简单的分布式新浪微博爬虫 用python爬虫抓站的一些技巧总结 使用python爬虫抓站的一些技巧总结:进阶篇 网络爬虫系列 九、工具Windows系统下,Python相关包Windows Binaries for Python Extension Packages |