【动态编程语言】

  学习过C、C++的同学都知道,使用这二者编写代码时,变量在使用前必须通过类似“int a=123”的语句提取申明,然后在真正赋值的时候校验取值跟类型是否相符。也就是常说的“静态编程语言”。

  而Python属于“动态编程语言”:使用时可以在未提取申明的情况下直接赋值,程序在真正运行的时候再去动态的根据=右侧的取值来确定变量的类型。

  因为“动态编程语言”的特性,Python在赋值的时候,总是先计算=右侧表达式的结果并申请内存空间进行存储,然后判断变量此时的类型并将变量指向结果的内存地址以完成赋值操作。

【有编译过程的解释型语言】

  众所周知,根据编程语言是否提前将源代码编译得到可供机器直接运行的二进制机器码,可将语言分为两大阵营:“编译型语言”和“解释型语言”。

  “编译型语言”的典型代表:C、C++,其最主要的优势就是:运行效率最高,最大的不足就是:平台兼容性差,主要原因就在于:提前编译成机器可运行的机器码。

  “解释型语言”的典型代码:Shell,其最主要的优势就是:平台兼容性最好,最大的不足就是:运行效率最低,主要原因就在于:没有提前编译,运行时需要逐行读取并运行。

  为了在“运行高效”和“良好的兼容性”方面取得最佳的平衡,Python其实是有编译过程的(将py的源码编译成相对高效的字节码pyc),不过完成的内容相对C那种严格编译型语言较少,具体内容如下:

    

最新文章

  1. Android编码规范02
  2. js学习心得之思维逻辑与对象上下文环境(一)
  3. Java - Collection 高效的找出两个List中的不同元素
  4. 《BI项目笔记》数据源视图设置
  5. 设计Account 对象如下:  private long id;       private double balance;       private String password; 要求完善设计,使得该Account 对象能够自动分配id。 给定一个List 如下: &#
  6. php 连接mysql数据库并显示数据 实例 转载
  7. [置顶] 无名管道的C++封装
  8. 扩大按钮 btn 响应区域
  9. python常用标准库
  10. python import xxx 与 from xxx import xx 模块引入的区别
  11. OPC协议解析-OPC客户端与服务器通讯解析
  12. win7安装oracle 10g问题总结。
  13. 设计模式C++学习笔记之七(AbstractFactory抽象工厂模式)
  14. ios-屏幕适配(代码)
  15. 使用第三方工具Xtrabackup进行MySQL备份
  16. 测试驱动开发 - Test-Driven Development
  17. JSP怎么将表单提交到对应的servlet
  18. mysql5.6常用查询sql
  19. javascript 容易忘记方法集锦
  20. nodejs学习笔记一( sublime、atom开发环境,http模块,fs模块的初识)

热门文章

  1. [luogu7340]Balance
  2. SuperEdge再添国产智能加速卡支持,为边缘智能推理再提速10倍
  3. [Net 6 AspNetCore Bug] 解决返回IAsyncEnumerable<T>类型时抛出的OperationCanceledException会被AspNetCore 框架吞掉的Bug
  4. Docker Nginx-Proxy 容器Nginx Proxy反向代理
  5. 『与善仁』Appium基础 — 19、元素定位工具(三)
  6. CSS3单行文本两端对齐
  7. Vue函数防抖和函数节流
  8. 学习java 7.23
  9. Windows系统安装MySQL详细教程和安装过程中问题汇总(命令安装),更新时间2021-12-8
  10. A Child's History of England.30