用Python语言入门适合吗?伟大的编程有什么特征?不少人都已经认同Python是最适合入门的编程语言,但更多人是知其然而不知其所以然,为什么Python对于青少年和成年人是入门语言的最佳选择?
下面的内容就是关于Python的大家族,说再多都不如有用的来的实在,直接看文章吧。
Python 大家族
首先得提一下 Python 语言和 Python 实现之间的关系。计算机语言本身可以说是一个规范,一个很好的例子就是 Scheme。R5RS 就是 Scheme 语言的一个规范文档,这里基本上规定了语言的规则,语法等方方面面。但是光有文档肯定还是不行的,所以就会有人根据语言的规范来实现一个能用的语言编译器或者解释器。对于 Python 来说,其语言的规范在文档里的 The Python Language Reference。而我们常用的 Python 常常被称为 CPython,这是官方提供的,也是使用最广泛的一个实现。事实上 Python 作为一个流行的语言还有着很多不同的实现。下面会介绍一些其他的 Python 实现,和一些 Python 衍生的语言。
PyPy
如果你经常关注 Python 相关的新闻那你一定看到过 PyPy。概括的讲它的目标是实现一个与 Python 完全兼容但速度要快很多的 Python 实现。在官方提供的评测页面中,你可以看到现在 PyPy 比 CPython 要快5倍左右。然而它自身也有一个很麻烦的问题就是 PyPy 不兼容 C 扩展,这也是它一直以来难以得到普及的一个原因。
对于我等一般用户来说,PyPy 已经算是相当成熟了。现在的 PyPy 2.0 是一个与 Python 2.7 兼容的版本,其中绝大部分标准库的内容都是可以使用的,而且大部分纯 Python 库也没有问题。官方现在提供包括 Windows 的各种版本的包裹下载。你可以自己尝试下使用 PyPy 有没有使你的程序跑的更快。如果可以的话那你就完全不费力气的获得了性能的提升,这也是 PyPy 项目吸引人的地方之一。
另一方面 PyPy 本身也提供了一套开发语言解释器的框架。官方博客有一篇文章介绍了如何编写一个简单 Brainfuck 解释器。
IronPython
IronPython 是微软 .Net 平台上的一个 Python 实现。事实上这基本上算是来自微软的一个开源项目,其所使用的 DLR 也是 .Net 4.0 中一个新的重要功能。
由于工作的原因我之前试着用了下 IronPython,感觉真是…惊呆了。如果试过在 C/C++ 项目中嵌入 Lua 或者其他脚本语言的经验,你会觉的要能让他正常的跑起来其实还是挺难的。起码你自己要处理将 C 的函数或者 C++ 的 Class 暴露到脚本语言中,处理脚本中的异常等等。总之就是挺麻烦。
但如果是用 IronPython 那基本上那你要操心的事情就非常少了。像 Class 都可以直接暴露给 IronPython,C 可以直接接到 IronPython 中的异常,也可以很容易的取得 IronPython 中的值或者 Class。而且 IronPython 可以很简单的使用 .Net 中的类,事实上你都可以用 IronPython 来写 WinForms 程序。总而言之,就是太方便了。
在效率方面的话其实 IronPython 跟 CPython 没有太大区别。但是如果你是 .Net 开发者的话一定得看看 IronPython。说不定就有机会用到。
相对于 .Net 平台,在 Java 上也有对应的 Jython 项目。不过这个我完全没有用过所以没什么可以说的。
Cython
“在Python中性能不够的地方,你可以用C语言来重写从而提升效率” – 我估计你应该在哪里看到过类似的说法。但这个到底应该怎么做呢? 要用 C 语言来重写 Python 模块说实话是个挺麻烦的事情。好消息是 Cython 就是针对这个问题的一个项目。Cython 提供了一个类似 Python 的强类型语言,Cython 可以将其编译为 C 的代码,然后你可以很轻松的将其编译成 Python 的 C 扩展 .pyd 文件。pyd 文件在 Windows 下其实就是 dll,如果使用 Cython 的话你就可以省去很多麻烦的事情。
但是坏消息是所有扯到 C 语言的东西在 Windows 上都显得非常麻烦。Cython 的配置也相对比较复杂。好消息是你还是可以通过安装超牛逼的 PythonXY 来把所有事情都搞定。
跟目标 Cython 类似的,调用 C/C++ 原生代码扩展的框架还有 cffi, swig 以及标准库中的 ctypes。
Python已经成为全球前五大流行编程语言之一,未来人工智能时代将是Python的天下,学习Python是时代给予的机会,抓住机会,成就人生。
声明:本文部分素材转载自互联网,如有侵权立即删除 。
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
丞旭猿论坛
暂无评论内容