总结:

  1. 编程语言的分类

    • 编译型:

      • 说明:与汇编语言类似,都有一个编译程序将源代码编译成硬件可执行的二进制代码
      • 特点:执行速度快、同等情况下对系统要求低,适合于开发大型应用程序、数据库系统、操作系统等
      • 代表:C/C++、VB
    • 解释型:
      • 说明:有个解释程序外壳,对源代码进行不停的编译和解释,省略了“编译”环节,修改调试方便
      • 特点:修改源代码比较方便,可移植性强,但是运行速度相比较而言就慢了一点,适合于开发网页脚本、服务器脚本以及辅助开发接口等对速度要求不高,且对不同系统之间的兼容性有要求的程序。
      • 代表:Python、Shell、JavaScript、VBScript、java、perl 
    • 强类型:
      • 说明:强制定义数据类型的语言,不予许隐式转换(不同类型之间的比较时,会自动转换变量的数据类型的一种过程)
      • 代表:Python、shell、java
    • 弱类型:
      • 说明:数据类型可以被忽略的语言,允许隐式转换
      • 代表:JavaScript、VBScript
    • 动态型:
      • 说明:在程序执行过程中检查数据类型的语言
      • 代表:Python、Shell、Ruby,JavaScript
    • 静态型:
      • 说明:在编译期间进行数据检查,且写程序时必须声明所有的变量
      • 代表:java、C
  2. python的运行过程剖析
    • 主module文件模块入口

      • Python会把py结尾的文件视为module,我们可以在代码中定义或者调用模块,运行Python的时候,这些module中,有一个主module,也就是程序运行的入口
    • 编译 
      • 在启动Python解释器后,xx.py文件会被编译成一个字节码对象PyCodeObject   其实就和java的class对象一样,有人会好奇编译过后不是生成pyc文件吗?这里解释一下,在Python的世界里一切皆对象,函数是对象,类型是对象,类也是对象,甚至编译出来的字节码对象也是对象,而pyc文件只是PyCodeObject在硬盘上的表现形式
    • pyc文件
      • 内存中的字节码对象PyCodeObject在文件运行完成后,会写入到对应xx.pyc文件中去,目的为了让第二次访问该xx.py的时候不用再次进程编译,直接调用pyc文件,当然,Python会事先判断源文件与pyc文件修改日期的最新程度,来确定是否直接调用还是重新编译。

python的运行过程剖析·编程语言分类的更多相关文章

  1. Python:Python的运行过程

    1.Python是什么 和Java以及c#一样,Python也是一门基于虚拟机的语言.熟悉Java开发的人在命令行执行一个Java程序的过程通常如下: javac hello.java java he ...

  2. 一个Flask应用运行过程剖析

    相信很多初学Flask的同学(包括我自己),在阅读官方文档或者Flask的学习资料时,对于它的认识是从以下的一段代码开始的: from flask import Flask app = Flask(_ ...

  3. Python之编程基础(编程语言分类)

    一.编程语言简介 编程语言主要从以下几个角度进行分类,编译型和解释型.静态语言和动态语言.强类型定义语言和弱类型定义语言. 1.编译型跟解释型 编译型,其实他和汇编语言是一样的,也是有一个负责翻译的程 ...

  4. Python基础:一、编程语言分类

    编程语言主要从以下几个角度进行分类: 编译型和解释型 静态语言和动态语言 强类型语言和弱类型语言 编译型语言和解释型语言 编译和解释的区别是什么? 编译器是把源程序的每一条语句都编译成机器语言,并保存 ...

  5. 批量执行用例,且结果显示在html中,python控制台也会显示运行过程

    下载HTMLTestRunner.py放到python安装目录的Lib下: 如下以登录为例,创建不同的.py文件, ========================================== ...

  6. .pyc是个什么 python的执行过程

    1. Python是一门解释型语言? 我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在.如果是解释型语言, ...

  7. 编程语言分类及python所属类型

    编程语言分类及python所属类型 编程语言主要从以下几个角度为进行分类:编译型和解释型.静态语言和动态语言.强类型定义语言和弱类型定义语言. 编译和解释的区别是什么? 编译器是把源程序的每一条语句都 ...

  8. 老李推荐:第8章5节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-运行测试脚本

    老李推荐:第8章5节<MonkeyRunner源码剖析>MonkeyRunner启动运行过程-运行测试脚本   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化 ...

  9. python学习day3 编程语言分类 变量 格式化输出

    1.编程语言分类 机器语言:直接使用二进制指令直接编写程序,直接操作计算机硬件,必须考虑硬件细节 汇编语言:使用英文标签代替二进制指令去编写程序,直接操作计算机硬件,必须考虑硬件细节对,不过相比机器语 ...

随机推荐

  1. 服务器断电后 redis重启后启动不起来

    服务器断电后 redis 重启后启动不起来 原因:db持久化失败 1. 先查询redis的进程 ps -ef|grep redis 2. 查询redis的缓存文件在哪 whereis dump.rdb ...

  2. EF Core 2.1 +数据库视图

    1.参考文档 https://stackoverflow.com/questions/36012616/working-with-sql-views-in-entity-framework-core ...

  3. Python之人工智能:PyAudio 实现录音 自动化交互实现问答

    Python 很强大其原因就是因为它庞大的三方库 , 资源是非常的丰富 , 当然也不会缺少关于音频的库 关于音频, PyAudio 这个库, 可以实现开启麦克风录音, 可以播放音频文件等等,此刻我们不 ...

  4. Xposed截获 Android手机QQ密码

    0x00 前言 Xposed框架是一款修改系统框架服务的软件,通过它许多功能强大的模块得以实现,且不冲突地同时运作,自从Xposed框架发布以来,安卓手机的可玩性日益激增,最近很闲很蛋疼,研究下截获A ...

  5. AWS ELB Sticky Session有问题?别忘了AWSELB cookie

    我们的产品中有两个Module,分别部署在独立的Linux机器上,Module 1需要向Module 2发起Http请求来获得服务.由于Module 2有多台,因此我们会在Module 2前部署一台负 ...

  6. Anaconda上安装Tensorflow并在jupyter上运行

    博客原文地址:https://blog.csdn.net/index20001/article/details/73555182 https://www.cnblogs.com/HongjianChe ...

  7. 使用python做最简单的爬虫

    使用python做最简单的爬虫 --之心 #第一种方法import urllib2 #将urllib2库引用进来response=urllib2.urlopen("http://www.ba ...

  8. Sublime Text3 + Markdown + 实时预览

    Sublime Text3是一款给力的文本编辑器,通过安装插件可以编辑Markdown文本,在编辑Markdown文本的同时可以实时预览编辑效果. 安装准备: 找到菜单栏:Preferences → ...

  9. Windows Python 版本切换工具 --- Switch Python Version Tool For Windows

    2018年1月13日 更新: 如果要用到不同版本的Python 请使用 virtualenv, pip install virtualenv  , 我做的这个工具可以拿来维护下环境变量~~ 填好路径自 ...

  10. 增量数据同步中间件DataLink分享(已开源)

    项目介绍 名称: DataLink['deitə liŋk]译意: 数据链路,数据(自动)传输器语言: 纯java开发(JDK1.8+)定位: 满足各种异构数据源之间的实时增量同步,一个分布式.可扩展 ...