0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

影响力超高的Python入门书《Python编程无师自通——专业程序员的养成》

WpOh_rgznai100 来源:lq 2019-06-02 10:00 次阅读

“大多数优秀的程序员从事编程工作,不是因为期望获得报酬或得到公众的称赞,而是因为编程是件有趣的事儿。”

——林纳斯·托瓦兹(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开发者的需求都非常大。不过,会尽量做到内容与技术无关——注重概念,而非技术本身。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件开发
    +关注

    关注

    0

    文章

    530

    浏览量

    27151
  • 编程
    +关注

    关注

    88

    文章

    3431

    浏览量

    92217
  • python
    +关注

    关注

    51

    文章

    4657

    浏览量

    83377

原文标题:美亚Kindle排名第一的Python 3入门书,火遍了整个编程圈

文章出处:【微信号:rgznai100,微信公众号:rgznai100】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何使用linux下gdb来调试python程序

    如何使用linux下gdb来调试python程序  在Linux下,可以使用GDB(GNU调试器)来调试Python程序。GDB是一个强大的调试工具,可以帮助开发者诊断和修复
    的头像 发表于 01-31 10:41 239次阅读

    python运行指定几行

    Python是一种高级编程语言,可以用于开发各种类型的应用程序,包括网站、桌面应用程序、数据分析和人工智能等。在Python中运行指定的几行
    的头像 发表于 11-29 15:04 315次阅读

    运行Python程序的几种常见方法

    Python是一种高级编程语言,具有简单易学,易于阅读和调试的特点。当你完成了一个Python程序之后,你需要运行它以检查程序是否按照预期工
    的头像 发表于 11-28 15:32 405次阅读

    如何运行Python程序

    运行Python程序非常简单。Python是一种解释型语言,这意味着可以直接通过解释器来执行代码。下面我将详细介绍如何运行Python程序
    的头像 发表于 11-24 09:31 617次阅读

    python怎么运行程序

    Python是一种广泛使用的编程语言,它的简易和可读性使得它成为初学者和专业开发人员的首选。在运行Python程序之前,您需要安装
    的头像 发表于 11-24 09:25 1685次阅读

    Python编程语言属于什么语言

    Python编程语言属于高级编程语言中的一种。它是一种通用、面向对象、解释型编程语言。Python由Guido van Rossum于198
    的头像 发表于 11-22 14:31 570次阅读

    python窗口图形界面编程

    Python是一种功能强大而又简单易用的编程语言,支持多种编程范式,包括面向过程、面向对象和函数式编程。除了用于开发各种类型的应用程序和网络
    的头像 发表于 11-22 14:23 478次阅读

    python写完程序之后怎么运行

    Python是一门简洁、易学的编程语言,被广泛应用于数据分析、人工智能等领域。在学习Python编程的过程中,了解程序的运行机制是至关重要的
    的头像 发表于 11-22 11:10 512次阅读

    如何使用Python和PinPong库控制Arduino

    Python程序员编程Arduino时面临的第一个挑战是语言不同。Arduino IDE使用的是受C和C++启发的语言。实际上,像Arduino这样的平台与Python非常搭配,特别
    的头像 发表于 10-13 10:59 382次阅读
    如何使用<b class='flag-5'>Python</b>和PinPong库控制Arduino

    Python编程实用指南

    Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。通过 Python 编程,我们能够解决现实生活中的很多任务。本书是一本面向实践的
    发表于 09-27 06:21

    Python编程学习笔记(5)

    编程时经常需要检查一系列条件,并据此决定采取什么措施。在Python中,if 语句让你能够检查程序的当前状态,并据此采取相应的措施。
    发表于 09-20 16:19 287次阅读

    不可错过!人工神经网络算法、PID算法、Python人工智能学习等资料包分享(附源代码)

    先了解生物神经元模型。 >>>点击查看下载资料 2.Python编程:从入门到实践 如何学习编写第一个程序,每个程序员
    发表于 09-13 16:41

    使用Python的UART ISP程序

    Python3 个人电脑一侧实施 ISP (系统编程) 程序。 它需要 nuvoton 核 为 ISP 操作提供的 ISP 硬件 。 您可以在下列时间下载样本代码http://www.nuvoton.com/resource
    发表于 08-30 08:14

    如何安装Python解释器

    安装Python解释器是搭建Python编程环境的第一步。Python解释器是Python编程
    的头像 发表于 04-14 12:08 4739次阅读

    如何搭建Python编程环境

    Python是一种高级编程语言,被广泛用于科学计算、数据分析、人工智能、Web开发等领域。想要学习Python编程,首先需要搭建一个合适的编程
    的头像 发表于 04-14 12:07 4339次阅读