美亚Kindle排名第一的Python 3入门书,火遍了整个编程圈
“大多数优秀的程序员从事编程工作,不是因为期望获得报酬或得到公众的称赞,而是因为编程是件有趣的事儿。”
——林纳斯·托瓦兹(Linus Torvalds)

在美国亚马逊,有一本书的影响力超高的Python入门书,Kindle版本在美国亚马逊网站的计算机软件、软件开发分类中排行均为第一,超越了众多实力派Python书,众多五星好评。也许你有所耳闻,这本书就是《Python编程无师自通——专业程序员的养成》


《Python编程无师自通——专业程序员的养成》作者是一名自学成才的程序员,作为一名文科生他通过自学编程,掌握了编程技能并在eBay找到了一份软件工程师的工作。这本书是作者结合个人经验写作而成,旨在帮助读者从外行成长为一名专业的Python程序员。
这本书可以满足几乎所有想要学习编程的初学者。本书适合高中、大学阶段想要自学编程的学生,以及其他行业想入门编程的人,同时也适合作为编程入门的培训教材。

《Python编程无师自通——专业程序员的养成》
作者:[美] 科里•奥尔索夫(Cory Althoff)
扫描二维码,一键购买
作者自述
我毕业于克莱门森大学政治学专业,曾考虑过是否选择学习计算机科学专业,还在大一那年报名参加了“编程概论”课程,不过很快就退出了。实在是太难了。毕业后我一直住在硅谷,我发现我需要学习编程。一年后,我成为了eBay公司的一名中级软件工程师。我不想让大家觉得这是很轻松就能做到的。实际上,这是极具挑战的一件事。在这一年的不断尝试努力过程中,我得到了很多乐趣。
刚开始,很多人学习的是如何用流行的编程语言Python来进行编程。但是本书不仅是教你如何使用某种特定的语言编程,还会介绍标准教材中所不包括的其他所有知识点。本书分享的是我在成为软件工程师过程中不得不自学的内容。不管你的目标是成为一名软件工程师、企业家,还是在其他的岗位上使用编程技能,你都是本书的目标读者。
学会一门编程语言还不够,你还需要学会其他技能,才能像计算机科学家一样地工作。我会教授大家我从编程新手到专业软件工程师过程中学到的一切。我写是为了向有志于编程岗位的人分享他们需要掌握的知识框架。编程概论的书籍都大同小异——用Python或Ruby介绍编程的基础知识,然后就让你自己摸索。我经常从读完类似书籍的朋友那听到这样的反馈:我现在该做什么?我还不是一名程序员,也不知道下一步该学什么。
本书,就是我给出的答案。
本书结构
本书中涵盖很多主题,作者的目标不是包罗你需要了解的每个主题的所有细节,而是提供一份指引——一个编程职业发展所需要的所有技能的导览。
▌第一部分:编程简介。让你尽快写出自己的第一个程序,最好在今天。
▌第二部分:面向对象编程简介。这部分将介绍不同的编程范式,着重阐述面向对象编程。你会开发一个游戏,体会编程的强大能力。读完这部分后你会沉迷于编程。
▌第三部分:编程工具简介。将介绍提升编程生产力的不同工具。这时,你已经沉迷于编程,并希望变得更好。你将会学习相关的操作系统、使用正则表达式提升效率、安装并管理他人的程序,以及使用版本控制与其他工程师协作的知识。
▌第四部分:计算机科学简介。将简要介绍计算机科学知识,主要涵盖两个主题——算法和数据结构。
▌第五部分:找到工作。最后一部分是关于最佳编程实践,如何找到软件工程师的工作,团队协作以及程序员的自我提升。本文会分享如何通过技术面试与团队协作的建议,以及如何进一步提升自己的技能。
从终点出发
一般来说,你会先花很多时间学习理论,理论知识学的太多以至于许多计算机科学的毕业生甚至不知道如何动手编程。杰夫·阿特伍德(Jeff Atwood),在其博客“为什么程序员不会编程”中写道:“和我一样,许多人都碰到了这样的情况,编程岗位的200位申请者中,有199个根本不会写代码。重申一遍:他们一点代码都不会写。”这种现象直接促使Atwood发明了FizzBuzz代码挑战,一种用来在面试中筛选申请者的编程测试。大部分人都通不过测试,这也是为什么你要学习本书并掌握实践中要使用到技能。
《王者之旅》电影中的主角乔什(Josh Waitzkin),在《学习的艺术》一书中回忆了他如何反向学习国际象棋。他没有和其他人一样研究开局,而是从学习象棋残局。这样做让他对国际象棋有了更深的理解,并赢得了多次大赛冠军。与此类似,先学习如何编程再学习理论的方法更高效,因为你会拥有了解背后原理的强烈驱动。虽然理论很重要,但是在你拥有了编程经验之后,理论的价值才更大。

《王者之旅》电影截图
你不是一个人在战斗
毕业后再学习编程,已经越来越常见。Stack Overflow(一个程序员在线社区)在2015年的一份调查中显示,48%的受访者不是计算机专业却从事编程职业。
自学的优势
在eBay工作期间,作者的团队中有从斯坦福大学、加州大学和杜克大学计算机科学专业毕业的程序员,还有两名物理学博士。当时他25岁,而年仅21岁的同事对编程和计算机科学的知识比其强10倍这个事实,让作者尤其惶恐。
虽然与拥有计算机科学学士、硕士甚至是博士学位的同事一起工作的压力很大,但别忘记了你还有“自学的优势”。你选择读本文,不是出于老师布置的任务,而是因为你内心学习的渴望,这一点是你所拥有的最大优势。苹果公司的创始人斯蒂夫·沃兹尼亚克(Steve Wozniak)就是一位自学成才的程序员;还有因在美国宇航局的阿波罗登月计划中做出卓越贡献而获得总统自由勋章的玛格丽特·汉密尔顿(Margaret Hamilton);还有Tumblr 的创始人大卫·卡普(David Karp),Twitter的创始人杰克·多西(Jack Dorsey),Instagram 的创始人凯文·斯特罗姆(Kevin Systrom),他们都是自学成才的程序员。
为什么应该编程
不管你从事什么工作,编程都有助于你的职业发展。学习编程将给你自己赋能。你喜欢尝试新想法,时刻都有希望启动的新项目。学会编程后,你就可以坐下来自己实现,而不需要依赖他人。
编程也会提升你在其他方面的技能。因为你熟练掌握了问题解决能力,鲜有其他工作不会因此而受益。如我最近要在网上租房,搜索并筛选房子是个非常费力的活儿。但是我写了一个程序来代替我搜索,最后将结果以邮件形式发送给我。学会编程,将把你从重复性工作中解放出来。
如果你想成为软件工程师,市场上对这类岗位的需求也日益增长,但是符合要求的候选者却总是供不应求。到2020年,预计将有一百万个编程岗位空缺。即使你的目标不是成为软件工程师,科学和金融等领域的岗位也开始倾向那些拥有编程经验的申请者。
坚持不懈
如果你之前没有任何编程经验,担心自己无法胜任编程工作,但是你要相信自己:你完全有能力做到。人们对程序员有一些常见的误解,比如程序员都得擅长数学。这是错误的印象,不过编程确实是一件困难的工作。幸运的是,本书涵盖的内容将让这一切变得比你想象得更加容易。
为了提高编程技巧,你应该每天练习编程。挡在你面前的唯一障碍就是无法坚持,所以我们要采取一些措施确保自己能够坚持不懈。准备一张检查清单,来确保每天都有做练习,而且也能够帮助你保持专注。
如果你还需要其他帮助,效率专家Tim Ferris建议采用如下技巧来保持驱动力。事先给家人或朋友一笔钱,如果你在规定的时间内完成了目标,就让他们把钱还给你,否则就将钱捐献给你讨厌的机构。

本书使用的技术
为了让读者尽可能的积累编程经验,书中会介绍多种技术。在某些情况下,必须在许多不同的技术中做出选择。我们将会学习Git的基础知识。Git是一个流行的版本控制系统,选择介绍Git是因为笔者认为它已经成为版本控制的业界标准。书中用Python来编写大部分的编程示例,因为它是一门很流行的初学者语言,而且即使从来没有使用过Python的人学习起来也比较简单。此外,目前几乎每个领域对Python开发者的需求都非常大。不过,会尽量做到内容与技术无关——注重概念,而非技术本身。

《Python编程无师自通——专业程序员的养成》 每章结尾处都有术语表和挑战练习,让你更好地学习Python 3。
目录一览
第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章 下一步
扫描二维码,一键购买
识别下方二维码领取优惠券更优惠哦

码书商店是CSDN专为我们的用户建立的一个商店,这里提供大量的技术书籍,除了书籍我们也提供生活类的相关产品,如耳机、键盘等,或者你们如果有需求也可以联系码书商店的客服或者在公众号下留言你们需要的产品,我们尽量满足大家需求。
作为码书商店的运营人员,诚邀你们进入我们的“CSDN码书福利群”,群里会不定时的给大家赠书书籍、优惠券等,有书籍推荐或者物流方面信息也可群里咨询~目前群已满100人,需要加群的请扫下方二维码添加微信,拉你入群哦~
相关文章:

seo笔记——搜索显示
一、搜索显示的几个列表形式 1、经典搜索结果列表: 用户搜索时,出现的第一行都是网页的标题(title),颜色醒目的部分是用户搜索的相关内容; 使用百度搜索则第二第三行是网页的说明内容(Des…

【FFmpeg】函数详解(一)
FFmpeg函数详解 一、错误码相关1、AVERROR2、av_strerror3、其他错误码解释二、编解码1、获取编解码器2、申请、释放上下文环境3、打开编码器avcodec_open24、分配一个 AVFrame:av_frame_alloc5、av_frame_get_buffer6、avformat_alloc_output_context27、avformat_new_stream…

第5章 图像分类的数据集
第5章图像分类的数据集 在我们实际进入到代码编写阶段来构建分类器之前,我们首先回顾下在本书中用到的数据集。一些数据集可理想的获得大于95%的准确率,另一些则还在开放研究阶段,还有一些是图像分类竞赛的部分数据集。 现在就对这些数据集进…

一根烟上热搜,先让AI看看你的肺
作者 | 李翔,国内某互联网大厂AI民工,前携程酒店图像技术负责人,计算机视觉和深度学习重度爱好者,在ICCV和CVPR等会议上发表论文十余篇;马杰超,任职于某医学图像创业公司,医学图像AI领域资深从业…

mongodb主从设置,capped collections等常用命令集合
############### Mongodb 主 <> 从切换的时候要删除 ############## ############### use local ############################### ############## db.sources.remove() ############################### # 主#/data/mongodb-linux-x86_64-2.0.2/bin/mongod --por…

调侃吴恩达,Diss特斯拉,吐槽OpenAI…《AI寒冬将至》作者点评2019“AI小丑秀”...
作者 | Piekniewski编译 | 夕颜出品 | AI科技大本营(ID: rgznai100)导读:去年,一篇《AI寒冬将至》的文章在AI圈爆红,作者观点鲜明地指出AI领域出现泡沫,并预言AI寒冬将会到来,引起巨大争议。一年…

max_semi_space_size 设置值与实际值不一致的原因分析
问题由来 因为业务的需求,某 Node.js 性能平台用户需要调节新生代大小,Node.js 的启动参数里面的max_semi_space_size可以设置新生代堆空间的大小。 node --v8-options | grep max_semi -A 3 -B 2--min_semi_space_size (min size of a semi-space (in M…

【FFmpeg】函数详解(二)
FFmpeg函数详解 9、av_dump_format10、avio_open11、avformat_write_header12、avcodec_send_frame13、avcodec_receive_packet9、av_dump_format 原型: void av_dump_format(AVFormatContext *ic, int index, const char *url, int is_output);说明: 打印输入输出格式的详…

【Visual C++】游戏开发笔记二十七 Direct3D 11入门级知识介绍
游戏开发笔记二十七 Direct3D 11入门级知识介绍作者:毛星云 邮箱: happylifemxy163.com 期待着与志同道合的朋友们相互交流上一节里我们介绍了在迈入DirectX 11的学习旅程之后第一个demo创建的全过程。但由于知识衔接的需要,我们的第一…

英特尔蚕食AMD和NVIDIA?
作者 | Daniel Newman译者 | 苏本如,责编 | 郭芮转载自CSDN(ID:CSDNnews)【编者按】一个鲜为人知的事实是,英特尔凭借其在集成显卡上的领先地位,持续占据着电脑显卡市场的头把交椅。但是随着过去两年中首席…

使用phpStudy运行伊人集项目
1.首次运行时,需要把system/config/install.look.php以及system/config/database.php(后面这个文件可以先不删除,若是安装过程中数据库报错,再来删除它)删除2.若只有一个项目版本需要运行的话,可以把项目拷…

【FFmpeg】函数详解(三)
FFmpeg函数详解 14、av_write_frame15、av_interleaved_write_frame16、av_write_trailer17、avio_close18、av_image_get_buffer_size19、av_image_fill_arrays20、av_rescale_q21、视频格式尺寸转换22、音频重采样:23、将像素格式由索引值转换成字符串24、MD5相关25、avio_h…

php时区问题导致php页面显示不正常
cacti安装成功,但报时区错误,已经做了如下操作,后来发现如上设置还是有此问题 将 /usr/local/php5/php.ini文件内修改如下 date.timezone asia/Chongqing 遂解决之。 转载于:https://blog.51cto.com/itnihao/916148

【FFmpeg】降低转码延迟方法、打印信息详解、refcounted_frames详解
文章目录 1、FFmpeg降低转码延迟方法2、ffmpeg打印信息:源码里打印的这段是这样定义的3、解码时 refcounted_frames 标志的使用3.1 启动该标志3.2 解码后,记得释放3.3 详解1、FFmpeg降低转码延迟方法 关闭sync-lookahead降低rc-lookahead,但别小于10,默认是-1降低threads(比…

速度提升270倍!微软和浙大联合推出全新语音合成系统FastSpeech
作者 | 谭旭转载自微软研究院AI头条(ID: MSRAsia)【编者按】目前,基于神经网络的端到端文本到语音合成技术发展迅速,但仍面临不少问题——合成速度慢、稳定性差、可控性缺乏等。为此,微软亚洲研究院机器学习组和微软&a…

Linux —— 目录(文件夹)及文件相关处理指令
可参考这篇文章:https://mp.weixin.qq.com/s?__bizMzU4MTU3OTI0Mg&mid2247484269&idx1&sn38869a1df48d8cdb6278518b51601ce0&chksmfd443be8ca33b2fe937531e061c406786f0e587d8ab10ff15594442265658d08cd8271ae52c5&mpshare1&scene23&s…

工业级3G路由器
宏电工业级3G路由器的特点,工业级标准设计,适应零上60度的高温,零下30度的低温,存工业级制造工艺,适应交通,环保,矿山,电力等工业级应用,欢迎来电索取解决方案,沈阳宏电办事处 刘冰 15940556464 024-31296279 限东三省地区.转载于:https://blog.51cto.com/lbing/916441

【FFmpeg】AVOutputFormat/AVInputFormat 成员变量 flags 总结
1、分类 AVOutputFormat中flags允许的值: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_GLOBALHEADER, AVFMT_NOTIMESTAMPS, AVFMT_VARIABLE_FPS, AVFMT_NODIMENSIONS, AVFMT_NOSTREAMS, AVFMT_ALLOW_FLUSH, AVFMT_TS_NONSTRICT, AVFMT_TS_NEGATIVEAVInputFormat中flags允许的值…

基础必备 | Python处理文件系统的10种方法
作者 | Jeff Hale 译者 | 风车云马;责编 | Jane,Rachel出品 | Python大本营(ID:pythonnews)【导读】在编写一些Python程序的时候,我们常常需要与文件系统进行交互。在本文中,营长为大家整理了10…

安装Oracle11g先决条件检查失败
体系结构 - 此先决条件将测试系统是否具有认证的体系结构。预期值:?N/A实际值:?N/A?错误列表:?-?PRVF-7536 : 无法在节点 "mywin7" 上执行体系结构检查 ?- Cause:? 无法确定系统体系结构。 ?-Action:? 确保正在使用正确的软件包。 处理 转载于:https://www.…

Windows Forms高级界面组件-使用状态栏控件
状态栏(StatusStrip)控件通常显示在窗体的底部,向用户提供有关应用程序状态的信息。如Word应用程序使用状态栏提供页码、行数和列数的信息。StatusStrip派生于ToolStrip,通常由ToolStripStatusLabel对象组成,用于显示指…

【Qt】在QtCreator中编译log4cplus
在QtCreator中编译log4cplus 一、在QtCreator中配置cmake二、编译log4cplus1、下载2、编译、安装一、在QtCreator中配置cmake 参见博客:https://blog.csdn.net/u010168781/article/details/107613606 log4cplus使用cmake来编译,因此需要QtCreator支持cmake 二、编译log4cpl…

IEEE“撑不住”了?声明解除对华为评审限制
整理 | 琥珀出品 | AI科技大本营(ID:rgznai100)6 月 2 日,IEEE 官方发表声明表示:经美国商务部就出口管制条例在 IEEE 出版活动中的适用性做出的说明,华为及其子公司的员工可以参加 IEEE 出版过程的同行评审和编辑工作…

关于软件产业的两个契机
软件产业是一个产业 , 和其它的产业一样 , 有各种角色分工 。 未来的软件是跨行业的 。 未来 , 软件会将各个行业联系在一起 。 云计算是第一代互联网发展到成熟的标志 。 网格计算是第二代互联网的开始 。 软件产业 在 未来 会 分为 平台&a…

java继承中的一些该注意的问题
关于继承,我想大多数人都知道,它是面向对象语言中的三大特性之一,所以在这里,关于继承的概念等我就不做详细介绍了,我主要就讲一下大家对他的认识中一些比较容易犯的错误吧。 错误认识1、继承,是将父类中所…

【C】printf warning: unknown conversion type character ‘l‘ in format [-Wformat=]
1、问题描述 在使用printf、fprintf打印long long类型时报错 printf warning: unknown conversion type character l in format [-Wformat=]2、原因分析 “%lld” 和 “%llu” 是 linux 下 gcc/g++ 用于 long long int 类型 (64 bits) 输入输出的格式符。 而 “%I64d” 和 “…

史上最强最贵Mac Pro诞生,iPadOS和iOS分家!WWDC19全面总结
作者 | 俞佳兴、胡巍巍转载自CSDN(ID:CSDNnews)图片&视频 | 余佳兴摄自美国圣何塞WWDC现场一年一度的WWDC终于来了!43岁的苹果,产品经验位居世界前列。一个迈入中年的公司,该如何持续做出让人惊艳的产品…

Java 抽象类与接口的区别
接口和抽象类有什么区别 你选择使用接口和抽象类的依据是什么? 接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象 抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,男人&…

XMOVE3.0手持终端——软件介绍(五):在2KB内存的单片机上实现的T9中文输入法
编者注: X-MOVE是作者在业余时间于2010年6月份启动的以运动传感开发,算法和应用的平台,目前已经发展了三个版本,第四版的开发接近尾声。发布在博客园仅为交流技术,不存在商业目的,作者保留一切权利。 一. 综…

推荐系统遇上深度学习,9篇阿里推荐论文汇总!
作者 | 石晓文转载自小小挖掘机(ID: wAIsjwj)业界常用的推荐系统主要分为两个阶段,召回阶段和精排阶段,当然有时候在最后还会接一些打散或者探索的规则,这点咱们就不考虑了。前面九篇文章中,有三篇是召回阶…