我是python编程语言的初学者。我在https://docs.python.org/上看到了"python是可移植的“的定义。
查询1:是可移植的-是指脚本还是可执行文件?
查询2: Java一样的是在目标计算机上运行"python可执行“所需的任何东西。
发布于 2020-03-17 07:59:38
您很可能在某个地方读到Python语言是一种解释性编程或脚本语言。事实是: Python既是一种解释语言,也是一种编译语言。但是,将Python称为一种编译语言是有误导性的。人们会假设编译器将Python代码翻译成机器语言,但这不是执行python代码的方式。Python代码被转换成中间代码,这些代码必须由虚拟机执行,称为PVM,即Python虚拟机。这是一种类似于Java所采用的方法。甚至还有一种将Python程序转换为Java虚拟机(JVM)的Java字节代码的方法。这可以通过Jython实现。python的默认实现是Cython,但是有更多类似于Jython、PyPy、IronPython等等!
发布于 2022-08-01 23:55:23
Python是可移植的--它是指python脚本还是python可执行文件?
Python脚本是可移植的,因为它运行在Python虚拟机(PVM)上。
Python基本上是一种解释语言。然而,Python实现可能会将源代码编译成字节码,以便重用/优化/任何东西,因此在某种意义上/实现是一种编译语言。
Python是一种解释语言,而不是已编译的语言,尽管由于字节码编译器的存在,这种区别可能很模糊。这意味着源文件可以直接运行,而无需显式创建可执行文件,然后运行。 https://docs.python.org/3/glossary.html#term-interpreted
和JVM一样,PVM是一台在当前计算机上运行的抽象机器,因此我们需要为每个平台提供PVM实现,这意味着Python不是可移植的,但是编译的代码(*.pyc)是可移植的,就像Python一样。
然而,目前甚至有可能有一个可移植的PVM。仅仅一个可执行文件就可以在Linux、Mac、Windows、NetBSD、FreeBSD、OpenBSD上运行,这是因为αcταlly pδrταblεεxεcταblε(APE)项目非常强大,所以人们可以通过提供一个小型的Python可执行文件(目前它仅超过4MB )以及一个*.py文件来轻松地分发它们的工作。
另请参阅
https://stackoverflow.com/questions/60718084
复制相似问题