Python编程无师自通 - (EPUB全文下载)
文件大小:0.21 mb。
文件格式:epub 格式。
书籍内容:
Python编程无师自通
第1章 概述
第2章 起步
第3章 编程概论
第4章 函数
第5章 容器
第6章 字符串操作
第7章 循环
第8章 模块
第9章 文件
第10章 综合练习
第11章 练习
第二部分 面对对象编程简介
第12章 编程范式
第13章 面向对象编程的四大支柱
第14章 深入面向对象编程
第15章 综合练习
第三部分 编程工具简介
第16章 Bash
第17章 正则表达式
第18章 包管理器
第19章 版本控制
第20章 融会贯通
第四部分 计算机科学简介
第21章 数据结构
第22章 算法
第五部分 找到工作
第23章 最佳编程实践
第24章 第一份编程工作
第25章 团队协作
第26章 更多学习资料
第27章 下一步
第1章 概述
“大多数优秀的程序员从事编程工作,不是因为期望获得报酬或得到公众的称赞,而是因为编程是件有趣的事儿。”
——林纳斯·托瓦兹(Linus Torvalds)
我毕业于克莱门森大学政治学专业。我曾考虑过是否选择学习计算机科学专业,还在大一那年报名参加了“编程概论”课程,不过很快就退出了。实在是太难了。毕业后我一直住在硅谷,我发现我需要学习编程。一年后,我成为了eBay公司的一名中级软件工程师(介于初级工程师与高级工程师之间的一个职位)。我不想让大家觉得这是很轻松就能做到的。实际上,这是极具挑战的一件事。在这一年的不断尝试努力过程中,我得到了很多乐趣。
刚开始,我学习的是如何用流行的编程语言Python来进行编程。但是本书不仅是教你如何使用某种特定的语言编程(确实会有这方面的内容),还会介绍标准教材中所不包括的其他所有知识点。本书分享的是我在成为软件工程师过程中不得不自学的内容。本书不适合那些想要随意了解下编程知识、将写代码作为爱好的人,而是专门写给那些希望以编程为职业的人。不管你的目标是成为一名软件工程师、企业家,还是在其他的岗位上使用编程技能,你都是本书的目标读者。
学会一门编程语言还不够,你还需要学会其他技能,才能像计算机科学家一样地工作。我会教授大家我从编程新手到专业软件工程师过程中学到的一切。我写作本书,是为了向有志于编程岗位的人分享他们需要掌握的知识框架。编程概论的书籍都大同小异——用Python或Ruby介绍编程的基础知识,然后就让你自己摸索。我经常从读完类似书籍的朋友那听到这样的反馈:我现在该做什么?我还不是一名程序员,也不知道下一步该学什么。本书,就是我给出的答案。
1.1 本书的结构
本书中一章所涵盖的许多主题可能都可以独立成书。我的目标不是包罗你需要了解的每个主题的所有细节,而是提供一份指引——一个编程职业发展所需要的所有技能的导览。
第一部分:编程简介。让你尽快写出自己的第一个程序,最好在今天。
第二部分:面向对象编程简介。这部分将介绍不同的编程范式,着重阐述面向对象编程。你会开发一个游戏,体会编程的强大能力。读完这部分后你会沉迷于编程。
第三部分:编程工具简介。将介绍提升编程生产力的不同工具。这时,你已经沉迷于编程,并希望变得更好。你将会学习相关的操作系统、使用正则表达式提升效率、安装并管理他人的程序,以及使用版本控制与其他工程师协作的知识。
第四部分:计算机科学简介。将简要介绍计算机科学知识,主要涵盖两个主题——算法和数据结构。
第五部分:找到工作。最后一部分是关于最佳编程实践,如何找到软件工程师的工作,团队协作以及程序员的自我提升。我会分享如何通过技术面试与团队协作的建议,以及如何进一步提升自己的技能。
1.2 从终点出发
我学会编程的方式,与计算机科学通常的教学方式正好相反。本书的结构是根据我自己的方式组织的。一般来说,你会先花很多时间学习理论,理论知识学的太多以至于许多计算机科学的毕业生甚至不知道如何动手编程。杰夫·阿特伍德(Jeff Atwood),在其博客“为什么程序员不会编程”中写道:“和我一样,许多人都碰到了这样的情况,编程岗位的200位申请者中,有199个根本不会写代码。重申一遍:他们一点代码都不会写。”这种现象直接促使Atwood发明了FizzBuzz代码挑战,一种用来在面试中筛选申请者的编程测试。大部分人都通不过测试,这也是为什么你要学习本书并掌握实践中要使用到技能。放心吧,在本书中你还会学到如何通过FizzBuzz测试的。
《王者之旅》电影中的主角乔什(Josh Waitzkin),在《学习的艺术》一书中回忆了他如何反向学习国际象棋。他没有和其他人一样研究开局,而是从学习象棋残局(棋盘上只剩下少数几个棋子)开始。这样做让他对国际象棋有了更深的理解,并赢得了多次大赛冠军。与此类似,我认为先学习如何编程再学习理论的方法更高效,因为你会拥有了解背后原理的强烈驱动。这就是为什么本书一直到第五部分才介绍计算机科学理论,而且内容也尽量精简。虽然理论很重要,但是在你拥有了编程经验之后,理论的价值才更大。
1.3 你不是一个人在战斗
毕业后再学习编程,已经越来越常见。Stack Overflow(一个程序员在线社区)在2015年的一份调查中显示,48%的受访者没有计算机科学学位。
1.4 自学的优势
在eBay工作期间,我的团队中有从斯坦福大学、加州大学和杜克大学计算机科学专业毕业的程序员,还有两名物理学博士。当时我25岁,而年仅21岁的同事对编程和计算机科学的知识比我强10倍这个事实,让我尤其惶恐。
虽然与拥有计算机科学学士、硕士甚至是博士学位的同事一起工作的压力很大,但别忘记了你还有“自学的优势”。你选择读这本书,不是出于老师布置的任务,而是因为你内心学习的渴望,这一点是你所拥有的最大优势。苹果公司的创始人斯蒂夫·沃兹尼亚克(Steve Wozniak)就是一位自学成才的程序员;还有因在美国宇航局的阿波罗登月计划中做出卓越贡献而获得总统自由勋章的玛格丽特·汉密尔顿(Margaret Hamilton);还有Tumblr 的创始人大卫·卡普(David Karp),Twitter的创始人杰克·多西(Jack Dorsey),In ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » Python编程无师自通 - (EPUB全文下载)