学了这么久,你知道Python是如何运作的吗?
时间:2025-11-05 16:03:54 出处:应用开发阅读(143)

作为一名机器学习工程师,学久我使用Python已经一年多了。知道作
最近出于兴趣,何运我也开始学习C ++。学久接触C++后,知道作才意识到Python是何运多么容易和直观。
我对Python与其他语言的学久不同之处及其工作机制愈加好奇。
于是知道作,本文诞生。何运 本篇文章将尝试讨论Python的学久内部工作机制。

来源:Pexels
Python最初是知道作Guido Van Rossum在业余时开发的一个项目,于1991年首次发布。何运作为一门通用语言,学久Python为Netflix和Instagram等许多公司提供了强大支持。知道作在一次采访中,何运Guido将Python与Java/Swift等语言进行了比较,他表示Java/Swift对于日常工作即是编程的软件开发人员是一个不错的选择,而Python针对的目标用户是日常工作与软件开发无关的人,他们编写代码主要是为了处理数据。
在阅读有关Python的免费源码下载文章时,经常会遇到诸如“编译型vs解释型”、“字节码vs机器码”、“动态类型vs静态类型”、“垃圾回收站”等词语。维基百科将Python描述为:
Python是一种解释型的高级通用性编程语言,具有动态类型和垃圾回收功能。
解释型语言
用C / C ++编写程序时,必须进行编译。编译是将人类可理解的代码转换为机器可理解的代码即“机器代码”。机器代码是CPU可直接执行指令的基本形式。成功编译后,代码生成一个可执行文件。执行此文件,代码中的操作将逐步运行。
尽管也需要编译这一步骤,但在大多数情况下,Python是一种解释型语言,而非编译型语言。首先将以.py文件编写的Python代码编译为字节码(后文将详细讨论),然后以.pyc或.pyo格式存储。
Python将源代码转换为字节码,而不像C ++等转换为机器代码。香港云服务器该字节码是可由解释器执行的低级指令集。Python解释器在大多数PC中安装在/usr/local/bin/python3.8路径下。字节码指令在虚拟机而非CPU上执行。
为什么选择解释型语言?
解释型语言具有独立于平台的一大优势。只要Python字节码和虚拟机版本相同,Python字节码就可以在任何平台(Windows,MacOS等)上执行。
Python的另一个优点是动态类型。在C ++等静态类型语言中,必须先声明变量类型,并在编译时检查所有差异(如添加字符串和整数)。但在像Python这样的强类型语言中,检查变量类型和所执行操作的有效性由解释器来完成。
解释型语言的缺点
动态类型提供给代码很大的自由度,但同时提高了代码的风险性,有时会难以调试。
Python经常被指责“速度慢”。这种说法是相对的,也存在很多争议,但之所以“慢”是因为解释器需要做额外工作来将字节码指令转换成可以在机器上执行的云服务器指令形式。StackOverflow上的一个帖子对此的解释更易理解:
如果你能用自己的母语和别人交谈,那通常要比口译员把你的语言翻译成其他语言让对方理解要快得多。

来源:Pexels
垃圾回收究竟是什么?
在早期编程语言中,内存分配主要依靠手动操作。很多时候,当变量不再使用或在程序的其他地方引用时,需要手动从内存中清除。垃圾回收站代替人工进行此项工作,无需任何操作即可自动释放空间。内存管理有两种方式:
简化方式是跟踪某对象的引用次数。当该数字下降到0时,删除该对象。这种方式被称为“引用计数”。在Python中无法禁用此功能。
在对象引用自身或两个对象相互引用的情况下,“生成垃圾回收”线程可以发挥作用。这是传统的引用计数所无法解决的。
什么是__pycache__?
在个人项目中或GitHub上,可能经常看到名为__pycache__的文件夹被自动创建。
/文件夹-_pycache_-preprocess.cpython-36.pyc-preprocess.py
如您所见,自动创建的文件名与文件夹外部的文件名相同,均为_pycache_。.pyc扩展名表示该文件包含preprocess.py的字节码。cpython表示解释器的类型。CPython意味着解释器是用C语言实现的。同样,JPython是用Java实现的Python解释器。

来源:diyitui
但为什么首先要创建文件夹? 因为这样可以稍微提高Python程序的速度。 而另一种提高速度的方式是更改Python代码,避免将其重新编译为字节码,从而节省时间。
猜你喜欢
- 以950m玩游戏的体验(体验高画质游戏畅爽快感的950m显卡)
- 使用SSL配置Nginx反向代理的简单指南
- 面试官:来说说Tomcat的启动过程是什么样子的
- 10分钟教你搭建一个嵌入式Web服务器
- 解决电脑系统错误的方法(快速查找系统错误并修复的技巧)
- 第三代AMD EPYC处理器正式发布:采用AMD 3D V-Cache技术,拥有768MB L3缓存
- 业务高峰期不小心拔掉了服务器电源!!
- 搞定Tomcat重要参数调优!
- gnome和KDE只是不同的桌面管理器而已,软件阿什么的是不受影响的,放心装吧。下面是安装KDE的过程:sudo apt-get install kubuntu-desktop遇到选yes or no的yes就行,之后会有一个蓝屏的文字窗口,寻问你要选择Kdm 还是gdm,这个看个人喜好,因为这只是开机登陆窗是KDE的还是GNOME的差别而已。我选择的是gdm,按回车,OK重启Xwindows(Ctrl+Alt+Backspace),在登陆窗的“会话”中选择KDE,登陆后就是变成KDE了(假如想回到ubuntu的话,可以在“会话”中改成gnome)注意:一定不用担心兼容问题,在ubuntu下安装的一切软件都可以在Kubuntu下使用,同理,Ubuntu下也可以使用KDE的软件。简言之,所以软件是共用的。KDE为英文界面,可以为它安装中文环境:sudo apt-get install language-pack-kde-zh language-pack-kde-zh-base language-pack-zh language-pack-zh-base language-support-zh重启Xwindows就行了。