有不少。毕竟python是一种常用的语言,从业者众多,面向初学者的书籍也就不少。事实上,现在想要在家自学python也不是件难以做到的事情,只要找到合适的学习顺序就可以。
以阅读来学习python,建议选择这样几本书。
一,《笨办法学python》。这本书提供了52个例子,涵盖简单的python语法和功能,能够让读者初步掌握python。只要严格按照这本书中的要求,逐步输入代码、检查、完成课后习题,就能对python产生一个基本了解。这本书在网上能找到免费PDF版本,最新版本是第三版。另有面向python 3的版本。
二,《简明python教程》。这本书原名为《A Byte of Python》,2005年出版了第一版,被誉为最出色的python教程。在过去的十几年中,这本书一直不断改进,现在已经出到了第四版,使用python 3.5。这是一本自由图书,任何人都可以免费访问和分享。在gitbook上有译本,也可以免费下载PDF版本。
三,《Python编程:从入门到实践》。这是一本商业图书,可以在各大电商网站上购买。目前最新版本也是面向python3的。
仔细阅读这几本书,按部就班地完成案例和课后习题,就可以基本掌握python的基础知识。至于更多内容,则需要在解决问题的时候去查帮助、查python语言参考、去网上搜索解决方案,或者寻找其他书籍的帮助了。
强烈推荐一本免费算法书《用Python解决数据结构与算法问题》。学 Python 仅仅只学 Python 语法和 API 是远远不够的,掌握算法和数据结构这种永远都不会过时的核心技能才是决定一个程序员职业发展的关键因素。算法和数据结构对专业程序员来说重要性不言而喻,同样一个问题,不同算法效率可谓千差万别。在问题规模很小的时候你可能感知不到,但是一旦数据上升到TB级别,两者的差距就像西瓜和芝麻的差别了。
举个简单例子:我们要计算前n个整数之和,你最先想到的算法可能是迭代。代码非常直观,初学者都能读懂,就是从1累加到n,得到最后的结果。这种算法的效率随着n的增加而变化,时间复杂度是O(n),线性时间,大O表示法指出了最糟糕情况下的运行时间。
想象一下,这个数足够大的时候,所耗费的时间将是无法估量的,当然,还有很多比线性时间更糟糕的算法。当然,最后还有一种最理想的算法,就是常数级别的,O(1) 常数级复杂度。也就是说程序运行的时间与需要处理的数据大小无关。
如果利用数学方程而不是迭代来计算前n个整数的和,他的复杂度就是 O(1)。下非常荣幸回答您的提问,下面是这本书的目录,希望对您有帮助!
为什么在家里玩游戏总是没有在网吧玩有意思?——网吧更有氛围。
为什么一个人吃饭总是没有几个人吃饭有意思?——人多了可以一边说话一边吃(菜更多)
为什么看电影时明明没交流,却更喜欢有人陪着一起看?——有个依赖
为什么两个人互相督促健身肯定比一个人去健身管用?——偶尔缺少懒的理由。
人是群居生物,自学所有东西都一样,有一个人在旁边能够互相督促、互相学习、一起解决问题,这是学习的一大动力。毕竟玩游戏5杀你是多想吼出来,然后有人分享,腹肌出来你是多想和别人炫耀。但一个人这些都实现不了。
学python一样一样的,独乐乐不如众乐乐。
除了需要有人陪,在自学中了解兴趣也是重中之重。
人总是要偶尔做一点莫名其妙的事来让自己索然无味的世界,充满一点(恶)趣味。
学python嘛,能有趣的事情分两种。
1、给别人炫耀这玩意就像你在家里打游戏永远没有在网吧来得爽,想喊不能喊,五杀了都找不到人说一声,想想网吧:恭喜58号机大神5杀。这句话对于自己虚荣心是多么的满足,所以,你学了就要学以致用,你能干啥事,就帮别人干啥事。别人就会觉得你好厉害。
举例,以前给同事修电脑,我是程序员但我不会啊,所以抱着试一试的心态就去了,反正我是喜欢翘屁嫩男的抠脚未婚夫女,又不怕在别的妹子面前出丑。过去后拿起电脑把螺丝给拆了,看见那么多灰,心里想是不是灰太多了,于是用牙刷把灰给清理了,一安装,诶,好了。妹子觉得我特别厉害,我虚荣心爆棚于是后面还自学了点修电脑。
2、给自己成就感很多时候我自己学新知识真的很难受,这玩意就像进度条,你都不知道你进行了多少,所以男生追我时候我都告诉他进度条。或者干脆不给进度条。这样方便你我他,(这个他就是我心目中还未到来的翘屁嫩男。永远留了个位置。)
所以我怎么做的呢?看网上教程,然后自己给自己设定进度条,并且没达到一部分就奖励自己,或者说给自己洗脑,我是多么牛逼,更多时候其实靠项目,比如你完成一个操作,我靠,老子竟然会了,真牛逼。刚学时候弄出一个飞机大战,卧槽,我以后可能是比steam还赚钱的游戏编程师。看教程做成一个商城项目,卧槽,淘宝你赚不了钱了,以后我要抢你的份额了。
虽然上面略有夸张,但真的是当时的我给自己加的戏。完成一个时间的成就感真的会给你继续前进留下特别大的动力。这就是兴趣所在。
最为Python的入门书籍,我必须推荐Python编程:从入门到实践。
这本书是一本针对所有层次的Python读者而作的Python入门书。全书分两部分:首部分介绍用Python 编程所必须了解的基本概念,包括matplotlib、NumPy和Pygal等强大的Python库和工具介绍,以及列表、字典、if语句、类、文件与异常、代码测试等内容;第 二部分将理论付诸实践,讲解如何开发三个项目,包括简单的Python 2D游戏开发,如何利用数据生成交互式的信息图,以及创建和定制简单的Web应用,并帮读者解决常见编程问题和困惑。
还有就是Python编程快速上手——让繁琐工作自动化 。
如今,人们面临的大多数任务都可以通过编写计算机软件来完成。Python是一种解释型、面向对象、动态数据类型的高 级程序设计语言。通过Python编程,我们能够解决现实生活中的很多任务。 本书是一本面向实践的Python编程实用指南。本书的目的,不仅是介绍Python语言的基础知识,而且还通过项目实践教会读者如何应用这些知识和技能。本书的首部分介绍了基本Python编程概念,第 二部分介绍了一些不同的任务,通过编写Python程序,可以让计算机自动完成它们。第 二部分的每一章都有一些项目程序,供读者学习。每章的末尾还提供了一些习题和深入的实践项目,帮助读者巩固所学的知识。附录部分提供了所有习题的解答。 本书适合任何想要通过Python学习编程的读者,尤其适合缺乏编程基础的初学者。通过阅读本书,读者将能利用强大的编程语言和工具,并且会体会到Python编程的快乐。
Python基础教程(第3版)
本书包括Python程序设计的方方面面:首先从Python的安装开始,随后介绍了Python的基础知识和基本概念,包括列表、元组、字符串、字典以及各种语句;然后循序渐进地介绍了一些相对高级的主题,包括抽象、异常、魔法方法、属性、迭代器;此后探讨了如何将Python与数据库、网络、C语言等工具结合使用,从而发挥出Python的强大功能,同时介绍了Python程序测试、打包、发布等知识;最后,作者结合前面讲述的内容,按照实际项目开发的步骤向读者介绍了10个具有实际意义的Python项目的开发过程。
关于Python的书籍还在有很多,对于初学者来说,这三本数绝对是经典中的经典,你值得拥有!