Python为何如此优秀?斯坦福教授告诉你!
Python 是一门更注重可读性和效率的语言,尤其是相较于 Java,PHP 以及 C++ 这样的语言,它的这两个优势让其在开发者中大受欢迎。
诚然,它有点老了,但仍是80后啊 —— 至少没有 Cobol 或者 Fortran 那么老。而且,如果还能派上用场的话,为啥要折腾着改变它呢 (尤其在这个还有那么多方法可以提升它性能的时候)?
实际上这要看你怎么看待它,生命线长本身就是件好事 —— 说明它稳定且可靠。
如果你是像其他许多人一样都是从 Java,C 或者 Perl 开始进入职业生涯的,那么学习 Python 的曲线基本上是不存在的。然而也正是由于 Python 易于上手这一事实,让有些人没有意识到 Python 也应该是一项必要的编程技能。
我要向各位坦诚,我对 Python 的喜爱也是从几年以前才开始的。不经历长期的痛苦教训,我们是不会对这门语言以及它的平台所提供的一切心生感激的。我写下这篇短文的目的就是要将你从同样的痛苦中拯救出来,让你明白为什么需要去了解 Python。
- Python 易于学习
好吧,相较于其它许多你可以拿来用的编程语言而言,它“更容易一些”。Python 的语言没有多少仪式化的东西,所以就算不是一个 Python 专家,你也能读懂它的代码。我的经验是,通过实例来学习和教授 Python 要比采取同样的方式去接触比方说 Ruby 或者 Perl 更加容易,因为 Python 的语法里面条条框框以及特殊的处理场景要少得多。 它所专注的并非语言表现的丰富程度,而是你想要用你的代码完成什么。
- Python 让你能用少量的代码构建出更多的功能
Python 能带给所有开发者一种快速的学习体验。通过实践,你可以在最多两天之内轻松实现一个具备基础功能的游戏 (而这还是在对编程完全不了解的情况下)。
另外一些让 Python 成为一门引人注目的编程语言的因素就是它的可读性和高效性。
- Python 是一门多才多艺的语言,更是一个平台
Python 今年 28 岁了。尽管它比我的许多读者年纪还要大,但是仍然受到高度的关注,因为它可以被应用于如今你所能想得到的相当多的软件开发和操作场景。要管理本地或者云基础设施吗?Python可以。开发网站?OK,它也能行的。需要处理一个 SQL 数据库?可以。需要为 Hive 或者 Pig 定制一个功能?能做到。只是想为自己构建一个小工具?Python 就是最好的选择。需要一门支持面向对象设计的语言?Python 的特性就能满足啦。简而言之,将 Python 了解得更加深入一点点,就能让你具备可以适应范围更宽泛的工作角色的技能。
- Python 拥有最成熟的程序包资源库之一
一旦你了解了该语言,就可以利用上这个平台。Python 以 PyPI (读作 Pie-Pie,可以从这里在线进行了解)为其后盾, 这是一个拥有超过 85,000 个 Python 模块和脚本的资源库,你拿过来就立马可以使用。这些模块向你的本地 Python 环境分发已经预先打包好的功能,可以用来解决各种诸如数据库处理,计算机视觉实现,像维度分析这样的高级数据分析的执行,或者是构建 REST 风格的 web 服务这些问题。
- Python 在数据科学领域被广泛使用
不管你从事的是什么工作,数据都会是其中的一部分。IT,软件开发,市场等等 —— 它们都深度地关乎数据且对于智慧求之若渴。很快数据分析技能就会像编码技能一样的重要,而 Python 在两个领域都占有重要的地位。Python 紧挨着 R 语言,都是现代数据科学中最常被使用的语言。事实上,在数据科学领域,Python 的职位职位需求超过了 R 语言。你在学习 Python 时发展出来的技能将会直接转换并被用来构建起自己的这些分析技能。
- Python 是跨平台且开源的
Python 可以跨平台运行,并且已经开放源代码超过20年的时间了,如果你需要代码能同时在Linux,Windows 以及 macOS 上跑起来,Python 就能满足要求。此外,有数十年的修修补补以及不断完善做后盾,可以确保你能够随心所欲地运行自己的代码。
- Python 是灵活的
有一些Python同其它编程语言集成在一起的稳定实现。
CPython, 同 C 集成的版本。
Jython, 同 Java 集成的Python版本。
IronPython, 被设计用来兼容 .Net 和 C#。
PyObjc, ObjectiveC 工具下的 Python 写法。
RubyPython, 同 Ruby 集成的 Python 版本。
总结
并没有很多的语言能提供像 Python 这样的多样性和简洁性; 能持续努力演进并让社区繁荣好几十年的就更少了。无论你是编码新手还是能信手写就脚本的大师,都需要了解一下 Python。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
JavaScript面试的完美指南(开发者视角)
摘要: 面试季手册。 原文:javascript 面试的完美指南(开发者视角) 作者:前端小智 Fundebug经授权转载,版权归原作者所有。 为了说明 JS 面试的复杂性,首先,请尝试给出以下结果: onsole.log(2.0 == “2” == new Boolean(true) == “1”) 十有八九的会给出false, 其实运行结果是true,原因请看 这里。 1) 理解 JS 函数 函数是 JavaScript 的精华,是 JS 一等公民。JS 函数不仅仅是一个普通的函数,与其他语言不同,JS 函数可以赋值给变量,作为参数传递给另一个函数,也可以从另一个函数返回。 console.log(square(5)); /* ... */ function square(n) { return n * n; } 以为代码很简单,大家应该都知道会打印:25。接着看一个: console.log(square(5)); var square = function(n) { return n * n; } 乍一看,你可能会忍不住说也打印了 25。但很不幸,会报错: TypeError:...
- 下一篇
synchronized的功能的扩展:重入锁
重入锁 重入锁可以说是synchronized,Object.wait(),Object.notify()的一种替代品。 在JDK5的早期版本,重入锁的新能要比synchronized好很多,在JDK6后对synchronized进行可很多优化,使得他和重入锁的性能差距并不大。 重入锁使用java.util.concurrent.locks.ReentrantLock类实现,下面我么来看下重入锁的简单使用案例: import java.util.*; import java.util.concurrent.locks.ReentrantLock; public class ReenterLock implements Runnable { public static ReentrantLock lock=new ReentrantLock(); public static int i=0; @Override public void run() { // TODO Auto-generated method stub for(int j=0;j<10000000;j++) { l...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Mario游戏-低调大师作品
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用