编译过程
编译系统的运行过程
源代码 --> 机器代码
- 解释器运行程序的方法
1.直接运行高级编程语言
2.转换高级编程语言码到一些有效率的字节码(Bytecode),并运行这些字节码
- Python解释语言特点
"拆解"代码:
首先当用户键入代码交给Python处理的时候会先进行此法分析,例如用户键入关键字或者当输入关键字有误时,都会被此法分析所触发,不正确的代码将不会被执行
下一步Python会进行语法分析,例如当"for i in test:"中,test后面的冒号如果写成其他符号,代码依旧不会被执行
在执行Python前,Python会生成.pyc文件,这个文件就是字节码1
如果不小心修改了字节码,Python下次重新编译该程序时会和其上次生成的字节码文件进行比较,如果不匹配则将会被修改过的字节码文件进行覆盖,以确保每次编译后字节码的准确性。
字节码在Python虚拟机程序里对应的是PyCodeObject对象。.pyc文件是字节码在磁盘上的表现形式。简单来说就是在编译代码的过程中,首先会将代码中的函数、类等对象分类处理,然后生成字节码文件。有了字节码文件,CPU可以直接识别字节码文件进行处理,接着Python就可执行了。↩

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java判断字符串中是否包含中英文标点符号
Java判断字符串中是否包含中英文标点符号 /** * 该函数判断一个字符串是否包含标点符号(中文英文标点符号)。 * 原理是原字符串做一次清洗,清洗掉所有标点符号。 * 此时,如果原字符串包含标点符号,那么清洗后的长度和原字符串长度不同。返回true。 * 如果原字符串未包含标点符号,则清洗后长度不变。返回false。 * @param s * @return */ public boolean check(String s) { boolean b = false; String tmp = s; tmp = tmp.replaceAll("\\p{P}", ""); if (s.length() != tmp.length()) { b = true; } return b; } 主要是使用了正则匹配: replaceAll("\\p{P}", "");replaceAll里面的正则匹配可以被使用来把字符串中的中英文标点符号全部清空只保留数字英文和中文。
- 下一篇
第2章—装配Bean—通过java代码装配bean
通过java代码装配bean 在进行显式装配的时候,有两种选型方案:java和XML配置,这里先介绍java的配置方式. 2.3.1创建配置类 先复习下上一章的配置内容: @Configuration public class SgtPeppers implements CompactDisc { private String title = "sgt"; private String song = "Twinkle, twinkle, little start"; public void play() { System.out.println("title:" + title + "song:" + song); } } 这里我们移走了@ComponentScan的注解,只留下了@Configuration的注解,表明这个类是一个配置类,不包含如何实现bean的细节,如果单纯的这样运行的话,测试会失败并出现BeanCreation-Exception异常.测试期望被注入CDPlayer和CompactDisc,但是这些bean根本就没有创建,因为组件扫描不会发现他们.为了测试...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS8编译安装MySQL8.0.19