论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
【Python学习笔记】 第2章 Python如何运行程序 ...
【Python学习笔记】 第2章 Python如何运行程序
悠扬随风
金牌会员
|
2024-9-4 23:16:18
|
显示全部楼层
|
阅读模式
楼主
主题
847
|
帖子
847
|
积分
2541
Python解释器简介
我们在Python的
官网
下载并安装Python后,它会天生一些组件,包罗解释器和一套支持库。Python的代码必须在解释器中运行。
程序运行
程序员的视角
一个Python程序仅是一个包罗Python语句的文本文件。例:创建script0.py文件,并写上:
print("Hello, world!")
print(2 ** 100)
复制代码
然后,我们在命令行窗口,调用Python执行文件:
Python的视角
在解释器解释文件的内容时,还会做一些别的事变。
字节码编译
如果Python在机器上拥有写入权限,那么它把程序的字节码保存为一个以.pyc为扩展名的文件,这个就是字节码文件。在版本3.2之前,文件与源文件同目录;在版本3.2之后,文件在__pycache__目录中。在这个目录中还保存了编译它们的Python版本信息。
Python这么做的目的是对启动速率优化。下次运行程序时,Python先检查:
源文件是否改变
:检查源文件和字节码文件最后一次修改的时间戳。
Python的版本
:是否版本不同。
然后确定是否要重新编译并天生字节码文件。大型程序中,字节码文件有助于加速启动。
Python虚拟机
Python将程序编译成字节码后,就可以发送到Python虚拟机上执行。Python虚拟机是解释器的一部分,也是解释器的最后一环。
性能的含义
Python的源代码在写好后可以立刻运行。字节码只是特定于Python的一种表现情势。Python仍然须要解释字节码,这使得Python的运行速率不如C/C++。
开发的含义
Python的编译后立刻执行的特性使得开发周期大大缩短。
执行模型的变体
Python的各种实现
CPython:标准Python
最初的、标准的Python
Jython:基于Java的Python
设计目的是与Java编程语言集成。作用是将Python源代码编译成Java字节码,使其可以运行在Java虚拟机上。
IronPython:基于.NET的Python
可以与Windows平台上的.NET框架以及与之对应的Linux开源的Mono编写成的应用相集成。
Stackless:注重并发的Python
它不会在栈上保存状态,使得Python更容易移植到较小的栈架构中。
PyPy:注重速率的Python
执行优化工具
Cython:Python和C的混合
Shed Skin:Python到C++的转换器
Psyco:原先的即时编译器
冻结二进制文件
有时间我们希望可以或许拥有一个把Python程序编译成二进制文件的简单方法。
实现上述想法的工具有:py2exe(Windows)、PyInstaller(Linux、Mac OS X)等等。
未来的可能性
未来也许有新的字节码格式和实现方式的变体将被接纳。比如:
Parrot:提供多种语言通用的字节码格式、虚拟机以及优化技术。
Unladen Swallow:将Python提速至少5倍。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
悠扬随风
金牌会员
这个人很懒什么都没写!
楼主热帖
(8) PyQt 设计并实现【工厂扫码装箱系 ...
王心凌再次爆火,为了防止收费,我连夜 ...
Java Long类parseLong()方法具有什么功 ...
【Web前端】HTML详解(上篇)
命题逻辑等值演算
Uniapp进行APP打包——iOS 系统 ...
互联网官方协议标准(rfc5000) ...
Oracle ORA-10917: TABLESPACE GROUP c ...
IDEA: 如何导入项目模块 以及 将 Java ...
RadonDB MySQL Kubernetes 2.2.0 发布 ...
标签云
存储
挺好的
服务器
快速回复
返回顶部
返回列表