python语言通过严格,python语言通过严格的
dfnjsfkhak
42
大家好,今天小编关注到一个比较有意思的话题,就是关于python语言通过严格的问题,于是小编就整理了1个相关介绍Python语言通过严格的解答,让我们一起看看吧。
- 既然Python是用C实现的,那为什么Python不能直接生成exe?
既然Python是用C实现的,那为什么Python不能直接生成exe?
可以直接生成exe,但python的依赖很多,直接生成exe其实就是把依赖和打包成一个壳,体积较大(即使一个小功能也可能几百兆),而且执行效率也不高,所以通常都是在开发环境下解释执行。
【十年独立游戏开发者,关注者粉丝,可向我提问,尽量回答】
Python是解释型语言,也可以打包成exe,只不过需要把解释器一起打包进去,所以打包出来的exe文件相对比较大一点。但是这完全不影响使用。我写了很多实用的小工具,用的wxpython写的GUI,用pyinstaller打包成exe只有十几M,用tkinter可以做到10M以内。打成exe是方便直接使用,不用自己装python环境了。现在一个安卓手机app几十几百M多的是,电脑还在乎这点空间?
理解错误。
Python是解析性脚本语言,他的执行过程就是解析的过程,所以本身不需要弄成可执行文件,和PHP一毛一样。

而C,C++是编译性语言,所以他们需要编译器,编译后的结果,就需要变成可执行文件。
但,并不是不能做成可执行文件,需要对应的工程开发环境,如,Windows下,用Python开发桌面应用,就能打包成exe可执行文件。
python不是用C实现的,而是利用了CPython解释器使python的运行效率可以接近C程序。至于为什么不直接生成exe,因为没有必要啊,exe是C程序编译之后执行的,意味着每一次执行python,后端的C解释器都需要将目前的python代码翻译成C代码,再执行编译、检查链接等等一系列操作,之后把所有的库静态或者动态打包好形成一个exe来供用户执行,这个效率未免太低了吧?而且在调用库的时候要如何选择链接方式?使用静态链接的话编译出来的文件会很大,动态链接又不能保证每一个用户都可以执行,不能保证库文件已经正确安装,导致跨平台性不好。
Python运行原理是运行在C编写的Python虚拟机上,通过opcode来决定python需要执行的指令,并且可以通过创建线程的方式来提高python的运行效率。只要解释器生成了对应的机器码,虚拟机线程可以立刻进入执行状态,效率比编译高多了,无论是暂停、修改还是重新运行速度都非常快。
C语言其实是一种比较“古老”而且“底层”的语言。其执行效率,仅次于汇编语言。
说其古老,是因为C语言的出现很早。
虽然Fortran、Cobol语言出现比C语言更早,但是现代主流操作系统(Windows、Mac Os、linux、iOS、Android、Unix)全部脱胎于C语言。
说它底层,是因为C语言设计之初就是为了同时编写汇编语言。理论上可以全部用汇编写。而汇编语言是执行效率最高的语言。
所以Python用C语言写一点也不奇怪。这和它能不能生成Exe一点关系都没有。
Exe文件是Windows平台的私有格式。最简单的Exe是Com可执行文件。Exe文件实际上是一个引导程序+一个解释程序组成的。
Python语言生成的代码,只需要配以引导程序和解释程序,就可以作为Exe文件执行。
所以,Python生成Exe文件一点难度都没有。只是它愿不愿意提供的问题。
到此,以上就是小编对于python语言通过严格的问题就介绍到这了,希望介绍关于python语言通过严格的1点解答对大家有用。
标签: python
执行
语言
版权声明:本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。