https://www.myziyuan.com/
- asd
- Python自身作为一门编程语言,它有多种实现。这里的实现指的是符合Python语言规范的Python解释程序以及标准库等。这些实现虽然实现的是同一种语言,但是彼此之间,特别是与CPython之间还是有些差别的。下面分别列出几个主要的实现。1.CPython:这是Python的官方版本,使用C语言实现,使用最为广泛,新的语言特性一般也最先出现在这里。CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。2.Jython:这是Python的Java实现,相比于CPython,它与Java语言之间的互操作性要远远高于CPython和C语言之间的互操作性。在Python中可以直接使用Java代码库,这使得使用Python可以方便地为Java程序写测试代码,更进一步,可以在Python中使用Swing等图形库编写GUI程序。Jython会将Python代码动态编译成Java字节码,然后在JVM上运行转换后的程序,这意味着此时Python程序与Java程序没有区别,只是源代码不一样。在Python 中写一个类,像使用Java 类一样使用这个类是很容易的事情。你甚至可以把Jython 脚本静态地编译为Java 字节码。示例代码:fromjava.langimportSystemSystem.out.write('Hello World!')3.Python for .NET:它实质上是CPython实现的.NET托管版本,它与.NET库和程序代码有很好的互操作性。4.IronPython:不同于Python for .NET,它是Python的C#实现,并且它将Python代码编译成C#中间代码(与Jython类似),然后运行,它与.NET语言的互操作性也非常好。5.PyPy:Python的Python实现版本,原理是这样的,PyPy运行在CPython(或者其它实现)之上,用户程序运行在PyPy之上。它的一个目标是成为Python语言自身的试验场,因为可以很容易地修改PyPy解释器的实现(因为它是使用Python写的)。6.Stackless:CPython的一个局限就是每个Python函数调用都会产生一个C函数调用。这意味着同时产生的函数调用是有限制的,因此Python难以实现用户级的线程库和复杂递归应用。一旦超越这个限制,程序就会崩溃。Stackless的Python实现突破了这个限制,一个C栈帧可以拥有任意数量的Python栈帧。这样你就能够拥有几乎无穷的函数调用,并能支持巨大数量的线程。Stackless唯一的问题就是它要对现有的CPython解释器做重大修改。所以它几乎是一个独立的分支。另一个名为Greenlets的项目也支持微线程。它是一个标准的C扩展,因此不需要对标准Python解释器做任何修改。下面的这篇文章对Stackless做了比较多的介绍,但是也比较难以读懂:可爱的 Python:Python实现内幕
- 2021-02-17 15:00:01
- 招财猫科技
- k=0while k>=0: if 5**(3**k)%2 == 3: print(k) break k += 1
- 2021-02-11 14:53:15
- visitor
- Python的几种实现,Python的简单的Python功能是一种语言代表一个简单的思想。阅读一个良好的Python程序就感觉像是在读英语,虽然英语的要求非常严格!这种伪代码的Python的本质是它最大的优势之一。它可以让你把重点放在解决问题上,而不是语言本身。 了解正如你所看到的,Python是使用极为方便。前面已经提到,Python有一个非常简单的语法。 - 免费,开源 Python是FLOSS(自由/开源软件)。简单地说,你可以自由分发该软件的拷贝,阅读它的源代码,它,把它的一部分用于新的自由软件。 FLOSS是基于社区的知识共享的概念。这就是为什么Python如此优秀,其中一个原因 - 它是一组想看看是谁创造并不断完善一个更好的Python。当您使用Python编程语言高级语言,你需要考虑底层的细节,如如何管理一类使用你的程序内存。 可移植性由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够在不同的平台上工作)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需即可在任何一个平台上运行。 这些平台,包括Linux,Windows,FreeBSD的,Macintosh电脑时,Solaris,OS / 2,Amiga上,AROS,AS / 400,BeOS的,OS / 390和z / OS,Palm操作系统,QNX,VMS,Psion公司,的Acom RISC OS,VxWorks的游戏机,夏普的Zaurus,Windows CE和甚至掌上电脑! 解释性这需要一些解释。 编译语言,如C或C ++编写的程序可以从源文件(即C或C ++语言)转换成语言的计算机应用(二进制代码,即0和1 )。通过这个过程中,编译器和各种标志和选项。当你运行你的程序,链接器/加载器软件,从硬盘复制程序到内存并运行。 Python中,一个程序不需要编译成二进制代码。可以直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成中间形式称为字节码,然后把它翻译成机器语言的计算机并运行。事实上,由于你不再需要担心如何编译程序,如何确保正确的库连接转载等,所有这些都使得使用Python更加容易。因为你只需要你的Python程序拷贝到另一台计算机,它可以工作,这也使得你的Python程序更容易移植。 Python的面向对象编程是支持面向过程的同时还支持面向对象编程。在面向过程的语言中,程序是建立了由过程或简单地可重复使用的代码的功能。在面向对象的语言中,程序是数据和功能的从生成了一个组合的对象。和Java与其他主要的语言如C ++相比,Python有实现面向对象编程一个非常强大和简单的方法。 可扩展性部分,如果你需要你的关键的代码在你的Python程序运行得更快或者希望某些算法不公开,你可以把你写在C或C方案++的一部分,然后使用它们。 嵌入你可以在C中嵌入的Python / C ++程序,从而向你的程序的用户脚本功能。 丰富的库 Python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式,文档生成,单元测试,线程,数据库,网页浏览器,CGI,FTP,电子邮件,XML,XML-RPC,HTML,WAV文件,密码系统,GUI (图形用户界面),Tk和其他系统相关的操作。请记住,只要是Python的安装,所有这些功能都可用。这被称为Python的“功能齐全”的概念。 除了标准的库,还有许多其他高质量的库,如wxPython的,扭曲的Python图像库等等。
- 2021-02-11 14:53:15