Python语言概述 和 编译型语言与解释型语言


Python创始人吉多·范罗苏姆(Guido van Rossum)
Python创始人吉多·范罗苏姆(Guido van Rossum)
Python的设计哲学:优雅、简单、明确


1、Python简介


Python是一种面向对象、解释型、弱类型的脚本语言。是基于ABC教学语言

(ABC语言是专门为非专业程序员设计,是由吉多参加设计的一种教学语言,就吉多本人看来,ABC 这种语言非常优美和强大。但是 ABC 语言并没有成功,究其原因,吉多认为是非开放造成的。吉多决心在 Python 中避免这一错误,并获取了非常好的效果)

解释型语言几乎是天然跨平台的

Java占据了世界上绝大部分电商、金融、通信等服务端应用开发
C/C++占据了世界上绝大部分的贴近操作系统的硬件编程

缺点

速度慢:Python程序比Java、C、C++等程序的运行效率都要慢

源代码加密困难:不像编译型语言的源程序会被编译成目标程序,Python直接运行源代码,因此对源代码加密比较困难


2、Python程序运行机制


计算机程序,其实就是一组计算机指令集,能真正驱动机器运行的是机器指令

高级语言按程序的执行方式可以分为编译型和解释型两种

  • 编译型语言是指使用专门的编译器,针对特定平台(操作系统)将某种高级语言源代码和一次性 “翻译” 成可被该平台硬件执行的机器码(包括机器指令和操作数),并包装成该平台所能识别的可执行程序的格式,这个转换过程称为编译(compile)

    因为一次性 “翻译” 成机器码,编译生成的可执行程序可以脱离开发环境,在特定的平台上独立运行,所以通常运行效率较高。

    注意:

    因为编译型语言的程序被编译成特定平台上的机器码,因此编译生成的可执行程序通常无法移植到其他平台上运行!

    如果需要移植,则必须将源代码复制到特定的平台上,采用特定平台上的编译器【重新编译】!

    C/C++、Objective-C、Pascal等高级语言都属于编译型语言
    编译型语言原理图

  • 解释型语言是指使用专门的解释器对源程序逐行解释成特定平台的机器码,并立即执行的语言。解释型语言通常不会进行整体性的编译和链接处理,解释型语言相当于把编译型语言中的编译和解释过程混合到一起同时完成。

    注意:

    每次执行解释型语言的程序都需要进行一次编译,所以效率通常较低,而且不能脱离解释器独立运行
    优点:跨平台容易,只需要提供特定平台的解释器即可,每个特定平台上的解释器都负责将源程序解释成特定平台的机器指令,解释型语言可以方便地实现源程序级的移植,但是这是以牺牲程序执行效率为代价的。

    Python属于解释型语言
    解释型语言原理图

扩展:
还有一种伪编译型语言,它属于半编译型语言,
如Visual Basic,它属于半编译型语言,并不是真正的编译型语言。
他首先被编译成 P-代码 ,并将解释引擎封装在可执行程序内,当运行程序时,P-代码 会被解析成真正的二进制代码。
从表面上看,Visual Basic 可以编译生成可以执行的EXE文件,而且这个EXE文件也可以脱离开发环境,在特定平台上运行。
实际上,在这个EXE文件中,既有程序的启动代码,也有链接解释程序的代码,而这部分代码负责启动Visual Basic 解释程序,再对Visual Basic代码进行解释并执行。

3、关于代码规范


  • Python 官方提供有一系列 PEP(Python Enhancement Proposals) 文档
  • 其中第 8 篇文档专门针对 Python 的代码格式 给出了建议,也就是俗称的 PEP 8
  • 文档地址:https://www.python.org/dev/peps/pep-0008/
  • 谷歌有对应的中文文档:http://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_style_rules/

任何语言的程序员,编写出符合规范的代码,是开始程序生涯的第一步

转载:https://www.cnblogs.com/yanFlyBlog/articles/14585682.html

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值