编译和解释

1.编译: 将源代码一次性转换成目标代码的过程

源代码 → 编辑器 →目标代码 →程序执行(同时程序输入)→结果输出

2.解释: 将源代码逐条转换成目标代码同时逐条运行的过程

源代码+程序输入 →结果输出

根据执行方式不同,编程语言分为两大类

静态语言:使用编译执行的编程语言:C/C++语言、java语言

优势:一次性生存目标代码,优化更充分,程序执行速度更快

脚本语言:使用解释执行的编程语言:python,JavaScript,php

优势:执行程序时需要源代码,维护更灵活。源代码维护灵活、跨多个操作系统平台

举例:某些企业app用了5年、10年,结果发现源代码找不到了。导致维护十分困难

python的编译和解释的更多相关文章

  1. 理解python先编译后解释的特点

    1. CPython默认的标准解释器编译器.JPython支持Java集成,可以生成Java字节码并在JVM中解释执行.IronPython支持.NET集成. 2. 下次运行程序时,python自动检 ...

  2. python介绍、安装及相关语法、python运维、编译与解释

    1.python介绍 Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/)是一种广泛使用的解释型.高级编程.通用型编程语言,由吉多.范罗苏姆创造,第一版发布于1991年.可以视 ...

  3. Python是编译运行的

    虽然Python被说成是一种解释型语言,但是实际上,Python源程序要先经过编译,然后才能运行. 与Java语言类似,Python源程序编译之后得到的是字节码,交由Python虚拟机来运行. 关于这 ...

  4. python的动态与解释

    python是一门动态解释型语言.为了理解"动态"和"解释",前几天都在看<Python源码剖析>,以下是自己的一些总结. 先说解释,除开py2ex ...

  5. Python - 浅谈Python的编译与反编译

    1 - Python编译过程涉及的文件 py 源代码文件,由python.exe解释,可在控制台下运行,可用文本编辑器进行编辑: pyc 源代码文件经过编译后生成的二进制文件,无法用文本编辑器进行编辑 ...

  6. 第6章 Python中的动态可执行方法 第6.1节 Python代码编译

    在介绍动态可执行方法前,本节先介绍一下Python代码编译有关的知识,因为部分内容和动态执行有些关联. 一.    Python解释器的功能 Python虽然是解释型语言,但Python代码也是可编译 ...

  7. python下编译py成pyc和pyo

     python下编译py成pyc和pyo   其实很简单, 用 python -m py_compile file.py python -m py_compile /root/src/{file1,f ...

  8. python反编译工具

    开发类在线工具:https://tool.lu/一个反编译网站:https://tool.lu/pyc/ 一看这个标题,就是搞坏事用的, 用 java 写程序多了,很习惯用反编译工具了,而且玩java ...

  9. Mac上把python源文件编译成so文件

    把python源文件编译成so文件 前言 实际上属于一种代码混淆/加密的技术,大家知道python的源文件放在那里,大家是都可以看的,不像C语言编译出来可以拿编译后的东西去运行,所以就出现了这种需求. ...

随机推荐

  1. AutoML论文调研

    AutoLearn - Automated Feature Generation and Selection - 2017 ICDM 核心思想: 用特征之间两两回归的方法,发现相关特征的额外信息. 主 ...

  2. NET 中反射的用法

    1.   反射的学习 A.反射的定义 B.反射举例 namespace Com.Meteor.Interface { public interface IHelper { void Query(); ...

  3. 6月28日 Django form组件 和 modelform组件

    Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否 ...

  4. MySQL—索引(Index)

    前言: 关于MySql索引数据结构和实现原理的讲解值得阅读一下: 实现原理:https://www.cnblogs.com/songwenjie/p/9415016.htm 索引数据结构:https: ...

  5. 使用 JWT 来保护你的 SpringBoot 应用

    关键词 写在前面 Spring Boot 创建Spring Boot应用 创建一个Web 应用 使用JWT保护你的Spring Boot应用 添加Spring Security 本文代码 关键词 Sp ...

  6. SpringCloud和Dubbo?

    SpringCloud和Dubbo都是现在主流的微服务架构SpringCloud是Apache旗下的Spring体系下的微服务解决方案Dubbo是阿里系的分布式服务治理框架从技术维度上,其实Sprin ...

  7. MyBatis 与 Hibernate 有哪些不同?

    1.Mybatis 和 hibernate 不同,它不完全是一个 ORM 框架,因为 MyBatis 需要 程序员自己编写 Sql 语句. 2.Mybatis 直接编写原生态 sql,可以严格控制 s ...

  8. redis 淘汰策略有哪些?

    noeviction: 不删除策略, 达到最大内存限制时, 如果需要更多内存, 直接返回错误信息. 大多数写命令都会导致占用更多的内存(有极少数会例外, 如 DEL ). allkeys-lru: 所 ...

  9. jQuery--属性和CSS

    1.属性和CSS介绍 属性(重点掌握) attr(name) 获取指定属性名的值 attr(key,val) 给一个指定属性名设置值 attr(prop) 给多个属性名设置值.参数:prop json ...

  10. jvm-learning-类加载子系统

    类加载子系统的作用 类加载器ClassLoader角色 类的加载过程(广义加载)  加载  加载.class文件的方式 连接Linker 初始化  注意:如果类种没有变量赋值动作和静态代码块的语句是不 ...