python需要编译么

作者&投稿:矣荆 (若有异议请与网页底部的电邮联系)
python项目代码变更后一定要重新编译吗?~

不需要啊,python是脚本 语言,不需要编译的

编写的话,拿什么编辑器编写都可以。
如果是编译的话,python是不需要编译的,直接运行即可。
运行的话,你需要安装一个python的解释器,可以是官方python,actiePython或者其他版本的python。
然后你可以选择python自带的IDLE编写,也可以在命令行下输入python进入交互shell进行编写,当然也可以用支持python语言的IDE进行编写。

一个经常听见的问题,那就是:Python是解释型的语言吗?它会被编译吗?这个问题没有想象中那么好回答。和很多人认识世界一样,习惯以一个简单的模型去评判一些事物。而事实上,里面包含了很多很多的细节。
通常的说法,编译代表着将一个高级语言转化为 CPU 能执行的机器码。当你编译 C 的时候,的确是做的这样的操作。编译的结果是一个二进制可执行文件,这时你的系统可直接运行这个程序。
与此相对的,解释的意思是这样的:程序运行时每次读源文件中的一行代码,并执行相应的操作,就这样一行一行的重复下去。当然,所谓的脚本语言就是这么运行的。
但事实上,上面的定义有太多的局限。一门真正的语言,为了拥有更多有用和强大的特性,通常采用了各种各样的实现方式。我们可以将编译理解为更通用一些:将一种语言转化为另一种语言形式。通常来说,源语言比目标语言要更高级一些,比如将 C 转化为机器码。当然,JavaScript 8 到 JavaScript 5 的转化也算是一种编译。
在Python中,源代码会被编译为更低级的一种形式,我们称之为字节码。字节码是一串指令,和 CPU 的指令集类似。但是字节码并不直接被 CPU 执行,而是在虚拟机中执行的。当然,这里的虚拟机并不模仿整个操作系统的环境,只是提供了字节码执行的一个环境。
下面我们看 Python 的一小段代码以及它对应的字节码
看了字节码的内容后,我们就知道 f'...' 这种格式化字符串的形式的运行原理,就是将里面的字符串转化为一系列的字面字符串与变量,然后使用 + 号连接起来。
dis 是 Python 标准库中反汇编模块,它可以展示 Python 代码的字节码信息。上面提到的执行字节码的虚拟机,可以用任意的语言实现,包括 Python 自己。有兴趣的可以去 GitHub 上看下这个项目 nedbat/byterun 。这个项目可以用来学习,但不适用于生产环境。
不过,我们运行 Python 时完全感受不到它的编译过程,没有显示的调用什么编译程序,仅仅是简单的执行 .py 文件,编译都是需要时自动编译的。这和 JAVA 不同,当你每次写完 JAVA 代码要执行时,都要手动将其编译为 .class 文件,然后执行。也正是这个原因,JAVA 被称为编译型语言,而 Python 被叫做解释型语言。但事实上,两种语言执行时都会先编译成字节码,然后交给虚拟机执行。
Python还有一个重要的特性,就是交互式命令行。你可以敲入一行 Python 语句,然后立刻回车执行。实际上,即使是这个过程,Python 同样是先转为字节码,然后执行。而这个交互式命令行这个特性,在很多编译型语言里是没有的。同样因为没有显示的调用编译程序,很多人将执行Python源文件的程序叫做Python解释器。
即使比较简略,但还是补充下。部分编译型语言比如 C 或者 JAVA 也有交互式命令行,但这些并不是这些语言的重心。JAVA 刚开始是编译成字节码然后执行,后面有了即时编译技术( JIT )可以直接编译成机器码,与 C 类似。
从上面的描述可以看出,不管是解释还是编译,并没法完全分离开来。很多时候,我们想用一些词将现有的编程语言分个类,但事实上要办到这一点太难了。
最后要说明的是,你的代码是怎么执行的只是语言的实现问题,并非语言的特征。上文中,我们讨论的是 Python ,但实际上是 CPython 的描述。CPython 是一个解释器,之所以这么叫,是因为这个解释器是用 C 编写的,这也是 Python 默认的解释器。当然还有其它很多解释器,比如,PyPy 就是另一种解释器,使用了 JIT 技术,运行速度相比 CPython 有较大提升。
回到标题中的问题,Python之所以称为解释型语言,是因为它没有显示的调用编译操作,表现出解释型的特性比较多而已。但事实上,编译是存在的,具体怎么编译就看语言的实现了,也就是解释器的设计。
更多Python相关技术文章,请访问Python教程栏目进行学习!以上就是小编分享的关于python需要编译么的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!


python需要编译么
Python还有一个重要的特性,就是交互式命令行。你可以敲入一行 Python 语句,然后立刻回车执行。实际上,即使是这个过程,Python 同样是先转为字节码,然后执行。而这个交互式命令行这个特性,在很多编译型语言里是没有的。同样因为没有显示的调用编译程序,很多人将执行Python源文件的程序叫做Python解释器。...

Python编写的程序需要编译陈可执行文件后才能运行吗?
在大多数情况下,Python 程序不需要被编译成可执行文件就可以直接运行。Python 是一种解释型语言,它使用解释器逐行解释并执行代码。当你编写好 Python 程序后,可以直接运行源代码文件(以 .py 为扩展名)来执行程序。你只需通过命令行或集成开发环境(IDE)等工具来运行 Python 脚本。例如,在命令行中...

Python编程基础讲解:Python编译型语言和解释型语言的区别
Python编译型语言和解释型语言的区别:编译型语言:对于编译型语言,开发完成以后需要将所有的源代码都转换成可执行程序,比如Windows下的.exe文件,可执行程序里面包含的就是机器码。只要我们拥有可执行程序,就可以随时运行,不用再重新编译了,也就是“一次编译,无限次运行”。在运行的时候,我们只需要...

简述python程序的运行过程
1. 源代码的编写:首先,程序员会使用文本编辑器(如Sublime Text、Notepad++、Visual Studio Code等)编写Python代码,这些代码被保存为.py文件。2. 源代码的编译:Python解释器会将源代码转换为字节码(bytecode),这是一种低级语言,可以被Python解释器执行。这个过程称为编译。3. 字节码的执行:Pytho...

我们编写的python代码在运行过程中,会被编译成
编译器会将程序源代码编译成汇编代码。汇编。汇编器会将汇编代码文件翻译成为二进制的机器码。链接。链接器会将一个个目标文件和库文件链接在一起,成为一个完整的可执行程序。载入。加载器会将可执行文件的代码和数据从硬盘加载到内存中,然后跳转到程序的第一条指令处开始运行。Python是一种广泛使用的...

python是编译器还是解释器
Python是编译+解释型的语言,执行的时候是由Python解释器,逐行编译+解释,然后运行,因为在运行的过程中,需要编译+解释,所以Python的运行性能会低于编译型语言,比如C++。为了提高性能,Python解释器,会将模块(以后要重用的脚本文件放在模块里)的编译+解释的结果,保存在.pyc中。这样下次执行的时候,就...

Python代码是编译执行还是解释执行
PYTHON是一种解释型的脚本语言,所以是解释执行的

学习Python建议用什么编译器?
Python是一门跨平台的脚本语言,Python规定了一个Python语法规则,实现了Python语法的解释程序就成为了Python的解释器。简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor...

cpy(Python的编译器构建工具)
exportPATH=\/usr\/local\/cpython\/bin:$PATH ```如何使用cpy?使用cpy需要以下步骤:1.编写Python源代码:```defhello():print("Hello,World!")```2.编译Python源代码:```cpython-mcpy.compilehello.py ```3.导入编译后的模块:```importhello ```4.调用模块中的函数:```hello.hello()``...

python可以编译成exe程序吗
最新版是pyinstaller 3.1.1。支持python2.7和python3.3+。可运行在Windows,Mac和Linux操作系统下。但它不是跨编译的,也就是说在Windows下用PyInstaller生成的exe只能运行在Windows下,在Linux下生成的只能运行在Linux下。pyinstaller在windows下的安装 使用命令pip install pyinstaller即可 在windows下,...

泸州市18964957819: python项目代码变更后一定要重新编译吗? -
敏明艾和: 不需要啊,python是脚本 语言,不需要编译的

泸州市18964957819: python的源代码在文本文档里编译可以不?可以的话如何修改格式什么的求助谢谢! -
敏明艾和: python是解释型语言,不需要编译,通过python解释器直接运行就行.源代码的后缀是.py,如果代码第一行有#!,则直接输入文件名字即可运行,如果没有,需要用[python filename]语句来运行.如果你的电脑是windows,需要下载安装python解释器,或IDE,具体的可到官网下载.我使用的是Mac,python是直接安装好的,在terminate下跑就行.

泸州市18964957819: Pythone不需要重复编译,可以提高执行效率吗? -
敏明艾和: 你理解反了,python 是一门脚本语言,不需要编译,所以执行效率很低.能编译成本地二进制代码(native code)的语言,如C/C++执行效率才高.要不就是 Java 这样的执行效率介于编译和非编译之间的语言.

泸州市18964957819: Python用什么编译器? -
敏明艾和: 不用的,py属于脚本,也被称作胶水语言,用解释器就可以了,如果你说的是说IDE,可以用PyCharm或Eclipse+PyDev.另外,如果是打算学习py工作的话建议不如学习java,java找工作还比较好找,可以到动力节点去体验一下专业测试.

泸州市18964957819: Python的特点有哪些特点 -
敏明艾和: Python是一种计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发. Python的特点如下: 1、简单 Python是一...

泸州市18964957819: python.framework -
敏明艾和: python是解释性的语言,不需要编译,直接使用 python xxxx.py运行即可. 如果你说的是编译安装python,无非就是make; make install.源码包里面也会有说明的. 一般linux里面有已经安装了python.

泸州市18964957819: python为什么不需要编译 -
敏明艾和: python没有不需要编译,我觉得你说的这个问题可以详见“脚本语言”的定义网页链接

泸州市18964957819: Python中的实际常用的构建工具有哪些 -
敏明艾和: python通常不需要编译,如果项目包含C语言扩展的话,用distutils进行编译.对于项目依赖的其它python库,则用virtualenv中的pip导入requests.txt文件即可.

泸州市18964957819: 小白科普:Python代码是编译执行还是解释执行 -
敏明艾和: python代码是解释执行的.所谓编译执行就是源代码经过编译器编译处理,生成目标机器码,即机器能直接运行的二进制代码,下次运行时无需重新编译.这种代码不具备可移植性、但执行速度快,C、C++这类语言属于编译型语言. 解释型语言是在代码运行期间逐行翻译成目标机器码,下次执行时,还是需要逐行解释,我们可以简单认为 Java、Python 都是解释型语言.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网