wangkaikai 2019-11-18
机器之心报道机器之心编辑部
房地产大佬潘石屹,突然决定学 Python 了。
「人生苦短,我学 Python」是众多和计算机科学有些接触的同学耳熟能详的段子,不过最近这一风潮有了蔓延的趋势。11 月 14 日,著名房地产商、SOHO 中国董事长潘石屹在微博上发表了一段宣言:
潘石屹的大名常会出现在很多新闻报道中。在 2019 年福布斯全球亿万富豪榜上,张欣、潘石屹家族排名第 107 位,财富值 215.7 亿元人民币。年过 50 的房地产老总,现在也要搞人工智能了吗?这一消息迅速引来人们的关注和转发。
或许是为自己学习 Python 的行为进行充分解释,又或许是想号召更多人加入这一行列。在发出「我要学 Python」这条微博一天以后,潘总又为学习 Python 找到了一些理由。
潘石屹认为 Python 是计算机语言里「进化最好的一种」。
很多人都知道,随着人工智能和数据科学的快速发展,Python 正在成为计算机领域里最流行的编程语言。在今年 9 月
IEEE 最新发布的编程语言排行榜
中,Python 在趋势、开源、职位需求等方面均排在第一。
当然,Python「职位需求大」显然跟潘总没什么关系。在知乎上,人们对于这一事件展开了讨论,有人指出在地产行业里,收集、分析数据正在变得越来越重要。使用 Python 语言进行爬虫、数据分析、机器学习算法预测是非常重要的技能。至少在学会这门编程语言后,潘总可能就不再会那么容易被 ppt 上的数字骗了。
潘石屹曾经研究过摄影、木工,如今又开始进入编程领域,其背后肯定有着很深的思考。
人生苦短,我用 Python
潘石屹大佬都选择学习 Python,究竟为什么有这么大的魔力?与其他一些编程语言相比,Python 语言又具备哪些显著的优势呢?
Python 语言简单易用、逻辑明确并拥有海量的扩展包,因此不仅成为机器学习与数据科学的首选语言,同时在网页、数据爬取可科学研究等方面成为不二选择。此外,很多入门级的机器学习开发者都是跟随大流选择 Python。
具体而言,与其他编程语言相比,Python 具有以下几方面的特征:
其一,Python 相对易于学习。我们都清楚,编程很难,因此从绝对意义上来说,除非你已经拥有编程经验,否则编程语言难以学习。但相对而言,Python 的高级属性、语法可读性和语义直白性使得它比其他语言更容易学习。Python 社区非常强调遵循样式规定和编写「Python 式的」代码,这意味着相比使用其他语言的程序员而言,Python 程序员更倾向于使用一致的命名规定、行的长度、编程习惯和其他许多类似特征,它们共同使别人的代码更易阅读。
其二,Python 是一种高级语言。与其他许多语言相比,Python 是一种相对「高级」的语言:它不需要(并且在许多情况下,不允许)用户担心太多底层细节,而这是其他许多语言需要去处理的。此外,Python 倾向于隐藏需要在底层语言中明确表达的各种死记硬背的声明。这使得我们可以编写非常紧凑、清晰的代码。
其三,Python 是一种通用语言。根据设计,Python 是一种通用的语言。也就是说,它旨在允许程序员在任何领域编写几乎所有类型的应用,而不是专注于一类特定的问题。在这方面,Python 可以与(相对)特定领域的语言进行对比,如 R 或 PHP。这些语言原则上可用于很多情形,但仍针对特定用例进行了明确优化。
其四,Python 是一种(相对)快速的语言。从表面上看,Python 是一种快速语言的说法看起来很愚蠢。因为在标准测试时,和 C 或 Java 这样的编译语言相比,Python 通常会卡顿。毫无疑问,如果速度至关重要,Python 可能不会成为你最优选择的语言,甚至不会是第二好的语言。但在实际中,许多科学家工作流程中的限制因素不是运行时间而是开发时间。一个花费一个小时运行但只需要 5 分钟编写的脚本通常比一个花费 5 秒钟运行但是需要一个礼拜编写和调试的脚本更合意。
其五,Python 是天生面向对象的。即使你正在做的只是编写一些简短的脚本去解析文本或挖掘一些数据,Python 的许多好处也很容易领会到。在你开始编写相对大型的代码片段前,Python 的最佳功能之一可能并不明显:Python 具有设计非常优雅的基于对象的数据模型。事实上,如果你查看底层,你会发现 Python 中的一切都是对象。甚至函数也是对象。
最后,很多人选择 Python 是冲着 Python 社区的。在这里,Python 学习者既可以自由地获得服务和 Python 资源,相互之间也可以进行自由的互动和交流。
Python 入门:把大象装进冰箱总共分几步?
既然 Python 是一门非常重要的编程语言,那么入门它有多难?在很多人看来,Python 是一门用较短时间就能掌握的编程语言。至于学习 Python 的时间,有人说是一个月,有人说是一周,还有人说一天就行。当然,学习 Python 也需要一点计算机理论知识和编程实践经验作为基础,但一天之内上手 Python 的人确实不在少数。
这里介绍一种「一个月从入门到精通」的学习方法。看似天数不多,但如果每天都拿出 6-7 个小时认真学习,也是能精进不少的,而且能够有一个比较扎实的基础。
首先你要确定好目标,第一个月的目标最好不要太过「沉重」,比如:
然后我们应该把这个月度计划细化为周计划,再将周计划拆分为天计划,这样才能更好地落实:
第一周:熟悉 Python
在第一周的学习结束后,千万不要急着安装 Python 环境,因为很多人都在语言工具包和 IDE 安装失败后逐渐失去了学习欲望。你可以使用几个安卓 App 来继续探索,比如编程英雄或者在线代码游乐场、 Repl等等
第二周:开始软件开发(构建项目)
如果你在第一周已经夯实了基础,那么第二周就可以朝着软件开发任务进军了:
在第二周接触项目是为了让你独立思考,学会将课程中的理论转化到实际应用当中去。
第三周:让自己成为一名程序员
第 3 周的目标是熟悉软件开发的整体过程。这个阶段不用掌握所有的知识,但是应该初步了解一些常识:
第四周:认真考虑工作(实习)问题
第 4 周的目标是认真思考如何用 Python 拿到 offer。即使你现在不想找工作,你也可以在这个过程中思考出很多有价值的结论。
以上是一个非常完美的学习周期,时间是 28 天。如果你是名课程繁重的学生、或者是需要花很多精力去参加社会活动的职场人士,抑或你和潘石屹一般今年也已经 56 岁了——这个学习周期也可以拉长,但是要记住,不能半途而废。