有没有哪一个瞬间,让你想要放弃学习编程?
在我决心开始学编程的时候,我为自己制定了一个每天编程1小时的计划,那时候工作很忙,我只能等到晚上9点,同事都下班之后,独自留在办公室编程。在翻遍了我能找到的几十本国内外的 Python 编程教程之后,我还是似懂非懂。那些数程里面到处都是抽象的概念、复杂的逻辑,对于专业开发者这些再平常不过,而对于我这样一个学设计出身的编程小自,没有被视觉化的东西是无法被理解的。
而且,这些书大多着重于一步步构建一个完整体系,但事实上,现实生活中没有哪个技能是这么习得的。难道要练习1年切菜才能给自己做一顿饭么? 难道要到体校学习3年才能开始展跑么? 难道要苦练5年基本功才能开始拿起吉他弹第1首曲子么?
做任何事情一定有在短期内简单可行的方法。学习不应该是苦差事,而应该是快乐的,重要的是找到适合自己的学习方法。
既然苯办法不能让我学会 Python,那么我决定用一种聪明方法来学,为自己创造学习的捷径。这种高效学习法的核心在于∶
1、精简∶学习最核心的关键知识;
2、理解∶ 运用类比、视觉化的方法来理解这些核心知识;
3、实践∶ 构建自己的知识体系之后,再通过实践去逐渐完善知识体系。
实际上,如果你听说过《如何高效学习》中的整体学习法,你会发现它和我的高效学习法很相似,作者斯科特·杨用一年的时间学完了麻省理工四年的课程。既然这种高效学习法可以用来学习经济学、数学、物理,那么当然也可以用来学编程。
运用了高效学习法之后,我的编程学习速度突飞猛讲,不到—个月时间就完成了一个爬虫加上 Django 的网站。为了追求最大程度的精简,我借用了许多强大的库和框架,这让我不需要重新发明轮子,而是专注于最核心的功能。在一次项目合作中,我惊设的发现 我用70行代码实现的功能一名工程师意然用了800行代码来实现。在运动场上,第一名和最后一名的差距也许只有几十秒。然而在编程这个竞技场上,不同方法的效率竟然会有10倍的差距,这也正是追求高效学习的价值所在。
为了能让更多的编程小自轻松地入门编程,我把高效学习法结合 Pvthon 中的核心知识,写成了这本书。随意翻上几页,你就会发现这本书和其他编程书的不同 其中有大量的视觉化场景帮你理解概念,穿插了若干有趣的小项目,最重要的是,这本书是为零基础小白而设计的。
考虑到很多书都标榜是针对零基础读者的,所以有必要说明一下这一本有哪些独到之处。
我不写字典式的知识体系,有些编程书像字典一样,各种细枝末节的知识都涵盖在内。但我认为,正如不应该让小孩拿着字典学汉语,也不应该让初学者拿着这样的厚书学编程。在汉语中,掌握常见的1500-2000个字就能看懂80%的文字。在编程中,同样有着最核心的关键知识。先用这些关键的知识构建你的知识体系会让学习效率加速,这是比一开始就钻到各种细枝末节里面更好的学习方式。这是精简的意义。
我不去对比各种语言的特点,许多程序员背景的作者喜欢去对比 Python 和其他语言有什么异同,或者试图让你通过理解 C 语言从而理解 Python,但我不会这么做。我知道对于大多数读者,Python 很可能是将要学习的第一门编程语言,所以我不会用一个陌生概念讲解另一个陌生概念,反过来,我会运用类比和视觉化的方法讲解 Python 中的抽象概念,把复杂的东西简单的讲清楚。这是理解的捷径。
我不追求让你达到精通的程度,事实上我也很怀疑有哪本书能真正做到21天从入门到精通。精通一门语言,需要在实际项目开发中踩过许多坑,需要熟悉计算机运作的底层原理。我是一名实用主义的开发者,我相信你也一样,学习编程是为了真正做出点东西来,也许你想爬取大量的数据和信息,方便用来分析与决策。也许你想快速搭建一个网站,展示自己的产品。也许你对量化交易感兴趣。想试着把自己的投资簧略程序化。对于实用主义的开发者来说,更应该追求的是"达成"而不是"精通"。先掌握项目所需的最少必要知识,然后把热情和精力投入到搭建真实项目中,而不是死磕半年的基础知识,直到把所有兴趣都耗竭了也没做出来什么像样的东西。在实践过程中,你自然会逐渐完善知识体系。在这本书里面,会穿插一些真实项目的片段,让你知道学了这个基础知识能用在哪,并目完成一些小型项目。这是让你最有成就感的实践。
说了这么多,就是为了让你能放下虑,这不是—本i让你中途放奈的编程书这是一本黏着你看完的编程书。大多数读者都能在一周内读完,其中有35岁才开始学编程的中年男子、有工作非常忙碌的女性创业者、还有对编程感兴趣的高中生。所以,相信你也可以跟着这本书一起从零到一。
放轻松,如果你准备好了,那就翻开下一页吧。
那些最好的程序员不是为了得到更高的薪水或者得到公众的仰幕而编程。他们只是觉得这是一件有趣的事情。
—Linux 之父 Linus Torvalds
作为一个实用主义的学习者,最关心的问题一定是「我为什么要选择学 Python,学会之后我可以用来做什么?
首先,对于初学者来说,比起其他编程语言,Python 更容易上手。 Python 的设计哲学是优雅、明确、简单。在官方的 The Zen of Python(《Python 之禅》)中,有这样一句话,
There should be one-- and preferably only one --obvious way to do it.
Python 追求的是找到最好的解决方案。相比之下,其他语言追求的是多种解决方案。
如果你试着读一段写的不错的 Python 代码,会发现像是在读英语一样。这也是 Pytho 的最大优点,它使你能够专注于解决问题而不是去搞明白语言本身。
其次,Python 功能强大,很多你本来应该操心的事情,Python 都替你考虑到了。当你用 Python 语言编写程序的时候,你不需要考虑如何管理你的程序使用的内存之类的底层细节。并且,Python 有很丰富的库,其中有官方的,也有第三方开发的,你想做的功能模块很有可能已经有人写好了,你只需要调用,不需要重新发明轮子。这就像是拥有了智能手机,可以任意安装需要的 app。
这幅漫画形容了 Python 的库有多强大,导入一个反重力库就可以飞起来了。
第三,Python 能做的事情有许多。
在职场中,使用 Python 工作的主要是这样几类人∶
网站后端程序员∶ 使用 Python 搭建网站、后台服务会比较容易维护,当需要增加新功能,用 Python 可以比较容易的实现。不少知名网站都使用了 Python 开发,比如∶
● 自动化运维∶ 越来越多的运维开始倾向于自动化,批量处理大量的运维任务。Python 在系统管理上的优势在于强大的开发能力和完整的工具链。
● 数据分析师∶ Python 能快速开发的特性可以让你迅速验证你的想法,而不是把时间浪费在程序本身上,并且有丰富的第三方库的支持,也能帮你节省时间。
● 游戏开发者∶一般是作为游戏脚本内嵌在游戏中,这样做的好处是即可以利用游戏引擎的高性能,又可以受益于脚本化开发的优点。只需要修改腿本内容就可以调整游戏内容,不需要重新编译游戏,特别方便。
自动化测试∶ 对于测试来说,要掌握 Script 的特性,会在设计脚本中,有更好的效果。Python 是目前比较流行的 Script。
如果你是一名业余开发者,只是想在资源少的情况下快速做出自己想要的东西、自动化的解决生活中的问题,那么 Python 可以帮你做到这几类事情∶
● 网站的开发
借助功能丰富的框架 django,flask,丰富的设计模板 bootstrap,你可以快速搭建自己的网站,还可以做到移动端自适应。
● 用爬虫爬取或处理大量信息
当你需要获取大批量数据或是批量处理的时候,Python 爬虫可以快速做到这些,从而节省你的重复劳动时间。比如∶ 微博私信机器人、批量下载美剧,运行投资策略、刷折扣机票、爬合适房源、系统管理员的脚本任务等等。
【下载地址】
链接:https://pan.baidu.com/s/1RYXKvv_wiz3orrJvT_nRbA
提取码:6qnx
相关文章
为了更好地适应新形势,满足读者对大数据分析处理学习的迫切需要,我们推出了《大数据分析 ∶ R基础及应用》一书 ,力求使读者能够从中了解大数据
读完本书后,你将掌握R语言的精华,并能够熟练使用多种工具来解决各种数据科学难题。
网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始, 获得初始
通过它,你将学到如何写能处理大量非结构化文本的 Python 程序。你将获得有丰富标注的涵盖语言学各种数据结构的数据集,而且你将学到分析书面
本书可以作为Python编程语言的一本指南或者教程。它主要是为新手而设计,不过对于有经验的程序员来说,它同样有用。
本书以机器学习与计算统计为主题背景,专门讲t述如何挖掘和分析 Web,上的数据和资源,如何分析用户体验、市场营销、个人品味等诸多信息,并得出
为了能让更多的编程小自轻松地入门编程,我把高效学习法结合 Pvthon 中的核心知识,写成了这本书。随意翻上几页,你就会发现这本书和其他编程
本书结构非常简单,其实就是 52 个习题。其中 26 个覆盖了输入输出、变量、以及函数三个课题,另外 26个覆盖了一些比较高级的话题,如条件
本书以CPython为研究对象,在C代码一级,深入细致地剖析了Python的实现。本书不仅包括了对大量Python内置对象的剖析,更将大量的
本书是学习Python编程语言的入门书籍。Python是一种很流行的开源编程语言,可以在各种领域中用于编写独立的程序和脚本。Python免费
本书用 Python 语言来讲解算法的分析和设计。本书主要关注经典的算法,但同时会为读者理解基本算法问题和解决问题打下很好的基础。全书共 1
本书面向的读者是那些经常使用电子表格软件进行数据处理,但从未写过一行代码的人。前几章会教你设置 Python 运行环境,告诉你计算机是如何看
神经网络是一种模拟人脑的神经网络,以期能够实现类人工智能的机器学习技术。本书揭示神经网络背后的概念,并介绍如何通过Pvthon实现神经网络。
Python 是一种容易学习的强大的编程语言。它包含了高效的高级数据结构,能够用简单而高效的方式进行面向对象编程。Python 优雅的语法和
本书是面向 Python 初学者的学习指南,详细介绍了 Python 编程基础,以及一些高级概念,如面向对象编程。
FlashFXP绿色版网盘下载,附激活教程 1546
FlashFxp百度网盘下载链接:https://pan.baidu.com/s/1MBQ5gkZY1TCFY8A7fnZCfQ。FlashFxp是功能强大的FTP工具
Adobe Fireworks CS6 Ansifa绿色精简版网盘下载 1359
firework可以制作精美或是可以闪瞎眼的gif,这在广告领域是需要常用的,还有firework制作下logo,一些原创的图片还是很便捷的,而且fireworks用法简单,配合dw在做网站这一块往往会发挥出很强大的效果。百度网盘下载链接:https://pan.baidu.com/s/1fzIZszfy8VX6VzQBM_bdZQ
navicat for mysql中文绿色版网盘下载 1436
Navicat for Mysql是用于Mysql数据库管理的一款图形化管理软件,非常的便捷和好用,可以方便的增删改查数据库、数据表、字段、支持mysql命令,视图等等。百度网盘下载链接:https://pan.baidu.com/s/1T_tlgxzdQLtDr9TzptoWQw 提取码:y2yq
火车头采集器(旗舰版)绿色版网盘下载 1619
火车头采集器是站长常用的工具,相比于八爪鱼,简洁好用,易于配置。火车头能够轻松的抓取网页内容,并通过自带的工具对内容进行处理。站长圈想要做网站,火车头采集器是必不可少的。百度网盘链接:https://pan.baidu.com/s/1u8wUqS901HgOmucMBBOvEA
Photoshop(CS-2015-2023)绿色中文版软件下载 1746
安装文件清单(共46G)包含Window和Mac OS各个版本的安装包,从cs到cc,从绿色版到破解版,从安装文件激活工具,应有尽有,一次性打包。 Photoshop CC绿色精简版 Photoshop CS6 Mac版 Photoshop CC 2015 32位 Photoshop CC 2015 64位 Photoshop CC 2015 MAC版 Photoshop CC 2017 64位 Adobe Photoshop CC 2018 Adobe_Photoshop_CC_2018 Photoshop CC 2018 Win32 Photoshop CC 2018 Win64