python 为你打开一扇门

Python 2018-11-15 1,550 次浏览 1 条评论

你好,我是吴枫,在风变科技担任CTO,主业是帮人学编程。以后的日子里,还请你多多关照。

在上个周末,我去了一趟沃尔玛,发现两件神奇的事:0,买菜称重不需要人了,顾客自助;1,扫码买单不需要人了,用小程序。(在编程语言当中计数都从0开始,你要慢慢习惯这一点。)

卖菜的大妈很开心:现在大家都自助了,工作变轻松许多。

我不知道该怎么告诉她:这份工作,马上就要消失了。此事,发生在深圳华侨城。

这一幕让我想到许多东西:不只是沃尔玛,这个世界最新一批的科技公司在推动新一轮炽热的变革,崭新的浪潮。

不只是卖菜大妈,许多传统行业的员工,甚至是老牌互联网公司的员工,都将卷入其中。 未来已来,事情在发生一些变化。

我们知道,在上个世纪,人类文明的主旋律是“全球化”,所以跨文明沟通很重要。通俗来说,谁会说英语谁就能得到时代的荣宠。

而随着人工智能、语义识别技术的发展,人与人之间的沟通不再是难题。重要的事情变成:人类文明与计算机文明间的沟通。

想一想,近些年发生在你身边的变化。一开始,是内容完成了数字化:电影、书、音乐全都变成数字资源。

再然后,是实体的数字化:吃饭、打车、智能家居都被互联网所侵蚀。

到今天,潮流是人工智能,机器学习,云计算……这些都是会让人和机器边界模糊的技术。它开始隐隐约约,透露出替代人的趋势。

你看到许多“无人”技术接连涌现:无人驾驶、无人公交、无人快递、无人书店……

你看到最顶级的工作机会都在向技术型人才、懂技术的复合型人才抛出橄榄枝:数据分析师优于产品运营,数据产品经理优于传统产品经理。

同样的一份工作,懂技术的复合型人才,总能在技术的帮助下,更快、更好、更多地产出价值。与此对应,他们获得更高额的回报。

在高回报的激励之下,越来越多的人会努力去掌握技术。如此,就完成了一次社会整体的劳动力升级。此事,在人类历史上已经发生许多次。

编程,成为现代人的一道必选题。

即便我们不看那么长远的事,近一些看,编程也能给我们生活带来许多便利:编程,让你轻松地面对机械重复的工作——没人喜欢整天机械地做事情。

编程能解决这个问题。举一个很小的例子:

几乎所有的编程语言里,都会提供一种语法,循环。你只要写一个程序,它就能不知疲倦地去执行。

我们公司,行政同事一直在使用钉钉打卡,来记录大家的工作时长,进而对每个人工作负荷进行优化调整。当然了,它还有一个附属的小功能——看看是谁的迟到次数最多。

但事实上,钉钉的考勤统计是一个非常痛苦的工作。涉及到迟到、加班、调休、请假(很多种分类)时,都常常要手动标记、修改。这个工作,每月需要人事专员投入3.5天的工作量。

在后来,她学习了Python,事情会变成:从系统里导出原始数据,运行Python程序自动处理数据,将处理好的结果自动发进公司的微信群聊。

像这样的例子还会有很多,它可以被应用在我们工作生活的方方面面:数据分析、办公文档处理、微信邮件、自然语言处理、公众号后台开发、爬虫抓取数据、多媒体文件处理、小游戏……

当大批量重复性的工作来临:做很多的图,发很多的邮件,统计很多的数据……常规操作是哭。但是现在,编程可以做这些事,你只需要坐下,泡杯茶就好。

而Python尤其擅长做这些。近期,我们也已经在探索Python小课的作业智能批改,这也会借助Python完成。

在编程界,有一句话非常出名,叫“Talk is cheap, show me the code.”——空谈无意,秀代码。我们现在就去尝试运行几个代码,体验看看。

接下来会是一个图像识别的小程序。它能做的是将写在纸上的文字,精准地识别出来。如下图:

我们来做个演示:点击运行下面的程序即可,除此不需要做任何操作。你会看到,机器能精准的识别图片中的文字,这是图像识别技术——让计算机拥有“眼睛”,看懂图片。

个名词,然后敲击“Enter”键,我将会帮你自动联想它有什么相关的词汇!

分词,判断词性,这正是我们小学语文所做的事。感受到它和人脑思维的相似之处了吗?

紧接着,它还和你聊了两句天。

如果你将程序经过一些合理的拓展,能够替代好多人类的工作:语音助手、智能音箱、公众号自动回复、自动导航、翻译、客服、向导……(智能音箱/语音助手的工作逻辑是,先语音识别转文字,然后再做自然语言处理理解文字,最后执行指令。和你今日所做的事,一个模样。)

天呐,一个人工智能领域的小程序,就这样被你运行了出来啦!此处应有烟花特效。我推荐你将手缓缓地举起来,举到顶,再突然张开五指。哇奥,烟花特效。

我们会在后面的关卡,学习这个程序的写法。

至此,你或许会产生一个疑问:这么厉害的东西,会不会好难?

这个问题我最有发言权,因为我自己学过编程,因为我教过数千人学编程。

它是很难,说不难的都是站着说话不腰疼。

就仿佛今天的你,踱步到某中学门口,高谈阔论:中考/高考很简单的,你们不要太放心上。这样做,于他们是误导,于你,则可能要平添一些人身安全的顾虑。

但与此同时,我也确信一点:如果你肯跟随着我的脚步向前走,那么我有足够的胆气承诺这个路途将会是轻松且富有乐趣。在你之前,已经有好多人证明过此事——他们在这个学习系统里,动辄玩到凌晨一两点钟,根本止不住学习的兴奋与踏实。

我想向你介绍,为你打磨出这一教学系统的,都是些什么人儿?他们都做了哪些事情?

事情自然不是我吴枫一人完成,它是一个完整的团队。他们不需要被你记得,但应该被你知晓。

产品团队,来自北大/武大/港大,其中还有一位曾在前人工智能领域的独角兽公司做产品负责人。我们的交互设计师,来自腾讯微信团队。他们让编程教学体验起来更像文字冒险游戏:作业如任务系统,选修课如副本系统,知识点如地图系统,问答如社交系统,学分如成就系统……未来,或许还会去做防沉迷系统。

我们的内容团队,来自港中文、英国布里斯托、华南理工,有的还是人工智能领域的研究生,来自南方周末、奥美广告、腾讯的教育团队/游戏团队。他们准备了许多精彩的故事、项目、案例,用最通俗易懂的语言去把事情讲通透。在此,我不肯为你提前剧透。

然后我们有一个蛮厉害的技术团队,有清华的研究生,有国内拿很多人工智能、机器学习奖的大牛。他们做了上面那个可以在网页上运行的代码编辑器,以及代码分享的功能,问答系统自动去重,后面还会做代码智能批改的系统……

除此之外最特别之处,我们还请了一位认知心理学的专家。他专注于研究人的情感与认知交互作用,通俗来讲就是专门研究人是怎么学东西,在许多心理生理学经典期刊上都发过论文。有他的帮助,能保证我们设计的每一个关卡,都符合人类学习东西认知事物的规律。

当然,还有我们美丽的助教酱酱,会陪伴你走完整个学习过程。

我所在的公司叫做风变科技,这是一个专注于做教育的团队。在Python小课之前,我们还做过熊猫小课、熊猫书院、优势计划等项目。我们的中期目标,是希望替代大学教育,Python是实现它的第一站。

在你使用这个教学系统时,这个课单是内容,就研发了五个月,做过五次几千人的用户测试,更新迭代了好几个版本。所有的一切都指向两个目标:更简单,更有趣。

因为我们始终相信,能让一个人学会一项技能的核心动力,一定是:喜欢,兴趣,爱……这些正面情绪。而不是焦虑、害怕、恐惧……这一类情绪,可以诱导人点击、收藏、付费,但不帮助人学习。

籍由这些,来保证你的学习体验是开心的,并能学得下去。

紧随其后的是第二个问题:学到什么程度?我们都知道要完成Python编程入门没错,但是什么样的水平才算真正入门?

学完这个课,能做出点东西;能靠自己,继续深入学下去。称为入门。

我们来看张图:

Python的入门学习,主要有两个阶段:第0,掌握基础语法。第1,学会调用别人已经写好的代码,来完成自己的项目。

在第0个阶段,Python的基础语法比别的语言都更加简洁易懂。学完0到13关,你就能够全部掌握。

到第1个阶段,你面前会有很多可供选择的方向,包括:数据分析、办公文档处理、微信邮件、自然语言处理、公众号后台开发、爬虫抓取数据、多媒体文件处理、小游戏……

我们会用爬虫方向作为案例,教给你如何调用别人已经写好的代码。你学会的不是爬虫,而是调用代码的通用方案。

紧接着,我们来到最后一个版块,举一反三。我们会利用之前学到的知识,去尝试自学新的模块,去做出一个完整项目。

做个类比:掌握基础语法,这就仿佛你懂得键盘鼠标怎么用。学会调用别人已经写好的代码库,这就仿佛你懂得了怎么用QQ、微信、网易云音乐……接着,你会用键盘鼠标去操作不同的软件,实现想做的事。

Python语言上,有着非常丰富的第三方代码库(就是上面说的,别人写好的代码)可以供你免费使用。这些代码库,能帮助你完成海量的工作。在事实上,这正是相当一部分程序员的日常。

当有天这些第三方代码库已经不能满足你,你需要自己写这种代码库的时候。你已经是很高手的存在!

基于这样的课程设计,来保证你完成真正意义上的“入门”——学完之后,能做出东西;能继续深入学习。

讲过了这么多,要不我们先试着写一行代码?

print(1+1)

你会看到下面的左侧方框内,已经有一些代码。不要理会它,那是我为你准备的彩蛋。请在左侧方框内另起一行,然后一字不差地抄写上面的代码。注意:这里的括号一定要用英文括号,不然会报错。抄写完后,点击【运行】按钮。

我来为你解释发生了什么:你输入代码,代码提交给课程服务器,课程的服务器帮你运行了这个程序,然后把结果发送到你的浏览器。虽然你电脑上什么也没有安装,但最后的效果看上去,就仿佛是你的电脑成功运行出这个结果。

因为在本地电脑安装编辑器的过程是有那么一点点麻烦,所以我把安装教程,放在了后面的课程里。等你对Python更熟悉一些,就可以轻松地完成安装,在自己的电脑上完成编程。

问题:右边方框里的第一行user1000@python……py是什么东西?这一段,它模拟了我们电脑平时执行Python程序的样子。Python程序的文件格式是py(就像word文档的格式是doc一样),我们看到的这一行内容,就是这个py文件所在文件路径,和这个py文件的名字。

如果你希望了解编程语言的发展史,了解Python的特性。我们提供了副本《三体节选》,你可以联系酱酱索要。

我们来回过头看这行代码:print(1+1),你不觉得眼熟吗?

Python的语言逻辑已经高度接近人类语言。所以它不会难。你也不用怕自己英文不好会给学习造成阻碍,基本上有个初中,甚至小学水平的英文,就能胜任Python的入门学习。

这行代码的本质就是:(0)我们使用Python语言向计算机发出指令:“打印1+1的运算结果”;(1)Python解释器把这行代码编译成计算机能听懂的机器语言;(2)计算机做出相应的执行;(3)最后把运算结果呈现到我们面前。

逻辑复杂,但要你做的却简单:print(1+1)。

你是不是还想再试试看?我能理解这样的心情,就仿佛一个小孩拿到新玩具。但我们这次来点有挑战性的——打印一句小诗。

细心如你,能发现这个程序和之前的不同:在括号里,还多了单引号。

我们晚点讲这样做的原因。请你一字不差地抄写上面的这两行代码并运行,需要注意的是括号,引号都一定要用英文。

要不,我们再放一支烟花?

我们把print()叫打印函数,你可以用它来输出任何东西——只要你把它放进括号。

计算机能很容易地读懂数学运算,因为数学运算是标准化的,有固定的格式。所以你可以直接输入print(1+1),计算机会先运算,再去打印运算结果。

但小诗不一样,它是一串中文,计算机拿着它没办法做运算,一脸茫然不知道该怎么办。我们给它加一个引号,意思就是:你别管里边是什么啦,我输入什么,你就把什么打印出来。计算机很听话地执行你的命令。

一个例子:你输入print('1+1'),那输出的会是1+1,而不是2。

Python语言,是外国人发明的。所以,我们用的括号、引号……等所有符号,都要用英文,不然计算机会没办法识别,然后报错。但在单引号的内部,你就怎么做都可以!

以上,就是我们本关卡要学习的所有内容。

最后,多嘴一小句。我相信——如果一个人还没搞清楚:Python是怎么一回事,以及这种学习方式是不是适合自己。那么,他就不应该付费。

所以,我准备了四个体验课程给你,帮助你想明白那两个问题,到那时,再去做判断。

我在前面等你!

最最后,是一个复习。以及——记得去写作业(今天的作业好厉害的)。

微信扫一扫,分享到朋友圈

python 为你打开一扇门

我还没有学会写个人说明!

1 条评论

Leave a Reply