如果打算从零开始学编程,建议你学 Python

标签: 从零开始 编程 python | 发表时间:2017-09-05 14:02 | 作者:
出处:http://mp.weixin.qq.com

如果你是一个编程的门外汉,想要通过学习一门编程语言了解工程师的世界,或者想学点实用的编程手艺提高自己的工作效率,我会首推 Python。

从初学编程到现在,我用过不少编程语言,大部分是浅尝辄止,基本上算是一个编程领域半途而废的专家,积累了大量初学者经验(伤感)。在我看来,一门适合零基础入门的语言,应该具备以下特性:

要立竿见影

每一门编程语言都有自己的学习曲线,作为入门,建议选一门初期学习曲线不那么陡峭的,也就是说投入的时间尽可能有显著的产出,每学一个知识点就可以立刻见到效果。

我记得我刚接触 Java 的时候,光是把一个工程跑起来就花费了好多时间,各种配置,各种报错,特别绝望,后来我找一个工程师帮忙,他在我电脑上捣鼓半天,还嘀咕「咦?我那里不是这样啊」,吓得我不敢吱声。

而 Python 就好很多,在一些标准库的加持下,几行代码就可以写出有价值的程序,我自己的第一个 Python 程序是帮姑娘处理她日常工作数据,找了一个示例程序边学边改,没多久就写好了。以往她每天需要操作个把小时的报表,用程序跑几分钟就完成了,还不会出错,她十分感动,被我迷住了。如果换成别的语言,这点儿时间恐怕还在配置运行环境……

丰富易用的库

库是巨人的肩膀,战士的行囊。一个有生命力的编程语言,应该有大量稳定而容易调用的库或者包,把一些底层的东西封装起来。

Python 有许多恰如其分的第三方库,而且都很独立,不会出现像 C 语言里那种包含头文件顺序出错都要跪的场面。对于我们这些非专业程序员,只需要根据自己的要求把它们串起来,就能写出短小精悍的程序。

尤其是到了人工智能和数据的时代,Python 越加流行起来,不论是机器学习算法本身,还是语料和数据的预处理,都有丰富的库可以直接调用。

你要一个排序,咔,它给排好了,你要一个神经网络,咔,它给你支起来了。这让我们能够集中精力在问题本身,不需要重复造轮子,古语有云,「君子生非异也,善假于库也」,就是这个意思。

要实用

即便用一万种语言在屏幕上打出「Hello World」也没有任何意义,能够让我们沉浸到程序世界的最重要一点,就是要让这个程序可以解决日常工作或者生活中的具体问题。

我上一份工作同时负责很多产品线,每天都要看大量的数据,那时我们的数据统计工具主要是 GA(Google Analytics,谷歌分析),如果直接使用 GA 的 Web 工具,每天要花许多时间在机械操作上,而且一旦涉及到跨域,就很难做交叉对比。

后来我写了一小段 Python 程序,利用 GA 提供的数据接口,配合 Python Excel 的库,直接把相关数据拉回到本地,生成自己想看的报表和图例(听起来很高级,其实人家都提供完整的示例代码,只需要把自己的账号填进去就能把程序跑起来)。在不断的修剪程序的过程里需要解决很多问题,这样基于实际问题出发的学习是最有效的,并且你做出来的不是一个花瓶项目,而是实用的工具,一举两得。

要有丰富的群众基础和资料

一个程序员最冰冷的时刻就是把报错信息贴到搜索引擎里,却一条结果都没搜出来。所以对于一个初学者来说,一定要尽可能选择那些已经比较成熟,资料丰富,群众基础扎实的编程语言。你能遇到的各种问题早就有人解决好并且写在网上了,能节省很多时间。

另一方面,成熟编程语言通常有成熟的学习路径,不太需要自己摸着石头过河。对于非科班的人来说,有一个温暖的初学环境太重要了,事关效率和心情。

— 广告时间 —

今天向大家推荐的是网易云课堂的 Python Web 微专业(免费体验课),课程内容是从零开始搭一个 Web 站点。Web 是互联网最广阔、最开放也是最公平的土壤,从这里入门挺好的。我看了一下课程设置,从前到后都有涉及,不仅是 Python,也包含了前端和数据库的部分。而且课程内容非常生动,比如用易拉罐来解释 Web 页面容器属性,很有意思。

现在,网易云课堂推出了限时的免费体验课(只在九月),除了大约 60 分钟的视频课程,还有两个实战项目,配有助教可以响应答疑,如果你感兴趣的话可以试试。

如果你想要加入这次的Python Web限时免费体验课,可以扫描下方的二维码,进入Python Web 体验课学习 QQ 群(群号:641916334),群里有助教老师协助大家更高效更扎实地学习 Python技能。



也点击 [阅读原文],可以直接 5 折购买 Python Web 开发工程师微专业

相关 [从零开始 编程 python] 推荐:

如果打算从零开始学编程,建议你学 Python

- -
如果你是一个编程的门外汉,想要通过学习一门编程语言了解工程师的世界,或者想学点实用的编程手艺提高自己的工作效率,我会首推 Python. 从初学编程到现在,我用过不少编程语言,大部分是浅尝辄止,基本上算是一个编程领域半途而废的专家,积累了大量初学者经验(伤感). 在我看来,一门适合零基础入门的语言,应该具备以下特性:.

从零开始掌握Python机器学习:十四步教程 - 知乎专栏

- -
Python 可以说是现在最流行的机器学习语言,而且你也能在网上找到大量的资源. 你现在也在考虑从 Python 入门机器学习吗. 本教程或许能帮你成功上手,从 0 到 1 掌握 Python 机器学习,至于后面再从 1 到 100 变成机器学习专家,就要看你自己的努力了. 本教程原文分为两个部分,机器之心在本文中将其进行了整合,原文可参阅:7 Steps to Mastering Machine Learning With Python 和 7 More Steps to Mastering Machine Learning With Python.

python编程规范

- - 互联网 - ITeye博客
@FileName: @Author:xx@ic.net.cn @Create date: @description:用一行文字概述模块或脚本,用句号结尾. 不影响编码的效率,不与大众习惯冲突.. 使代码的逻辑更清晰,更易于理解..   *所有的 Python 脚本文件都应在文件头标上如下标识或其兼容格式的标识.

简明 Python 编程规范v2

- MS - 赖勇浩的编程私伙局
赖勇浩(http://laiyonghao.com). 注:之前发布一篇《简明 Python 编程规范》(见:http://blog.csdn.net/lanphaday/article/details/2834883),本是我给当时所在的公司制定的,发表到博客的时候,对齐等问题都有一些错误,还包括一些错别字.

简明 Python 编程规范 by @laiyonghao

- DBLobster - python.cn(jobs, news)
本文最初发表于赖勇浩(恋花蝶)的博客:http://blog.csdn.net/lanphaday,如蒙转载,必须保留全文完整,未经本人同意,不得用于商业目的. 所有的 Python 脚本文件都应在文件头标上 # -*- coding:utf-8 -*-. 设置编辑器,默认保存为 utf-8 格式.

python编程:深入理解 Python 中的多线程 新手必看

- - Seay's blog 小屌丝守护着信息安全、
我们将会看到一些在Python中使用线程的实例和如何避免线程之间的竞争. 你应当将下边的例子运行多次,以便可以注意到线程是不可预测的和线程每次运行出的不同结果. 声明:从这里开始忘掉你听到过的关于GIL的东西,因为GIL不会影响到我想要展示的东西. 我们将要请求五个不同的url:. 除非cpu从一个url获得了回应,否则不会去请求下一个url.

9 本免费的 Python 语言编程书籍

- Zer0Wind - LinuxTOY
上次笔者为大家介绍了 4 本免费的 Perl 语言编程书籍,今天我将向各位推荐 9 本免费的 Python 语言编程书籍,希望对你学习 Python 编程有所帮助. 十分简明的 Python 教程. “无论您刚接触电脑还是一个有经验的程序员,本书都将有助您学习使用 Python 语言. ”包含 Python 2.x 和 Python 3.0 两个版本,中文版由沈洁元译.

[原]关于Python编程的一些问答

- - 赖勇浩的编程私伙局
关于Python编程的一些问答. 大约1个月前,oschina.net和华章图书一起合作做了一个活动: OSC第51期高手问答——聊聊python那些事,来推广我参与撰写的书《编写高质量代码:改善Python程序的91个建议》( 豆瓣链接). 在回答问题的过程中,我看到有若干问题是好几个人都问了的,就萌发了在事后把这些问答整理整理的想法,以下内容就是来自那一次的问答.

从零开始做工作室!

- l - 果壳网 guokr.com - 果壳网
DIYer:dwj300 制作时间:1周 制作难度:★★★★☆ GEEK指数:★★★★☆. 在“被没有足够工作空间”、“找不到工具和材料”、“花了太多时间找东西”弄到抓狂以后,我们决定清理地下杂物室,做个工作间. 在施工过程中我们学到了很多,希望这些经验会对想建设或者拓展工作空间的人们有帮助.

从零开始的Spring Session(二)

- - 程序猿DD | 博客
上一篇文章介绍了一些Session和Cookie的基础知识,这篇文章开始正式介绍Spring Session是如何对传统的Session进行改造的. 官网这么介绍Spring Session:. 其具体的特性非常之多,具体的内容可以从文档中了解到,笔者做一点自己的总结,Spring Session的特性包括但不限于以下:.