Pthon初步自学知识总结——从高级程序设计语言分类看Python语言特点

1.编译与解释

编译执行(compilation,compile):利用编译程序根据源程序产生目标程序。目标程序指的是经过编译得到的可以被计算机直接理解并执行的机器代码集合。是经检错、优化、存储分配后生成的二进制代码文件。特点是运行速度快,但可移植性不太高,并不灵活,如C,C++等。
解释执行(program interpretation):边解释边执行,即解释一句,执行语句,两者不会分来单独进行。执行控制权不在用户程序而是在解释器。运行速度慢,但灵活好用,可移植性高,占用空间也大,如BASIC语言,脚本语言等。
半编译半解释:不直接编译成目标代码,而是由编译器先编译成中间性质的二进制代码——字节码文件。在需要执行时,再由目标机器中的虚拟机(virtual machine)对字节码文件进行解释并执行。有较好的可移植性和效率,同时具有较高的安全性,如Java语言。
Python语言有两种运行方式,一种是解释方式,如在交互模式下使用直接解释方式;另一种是半编译半解释方式,在文件模式下,往往用该方式。
Python源代码文件拓展名为py,编译成字节码文件的拓展名为pyc,之后将字节码发送到PVM(Python Virtual Machine,Python虚拟机)上解释执行。

2.面向过程与面向对象

面向过程的模型和语言:重在将问题求解看成对数据进行一系列操作,以获得目标数据。
面向对象的模型和语言:初衷是组织大型程序,重在把任何系统和问题看成一组对象的运动。问题求解看成是对象自身运动以及相处作用的结果。每个对象都用属性、行为进行描述和界定。将一类对象用类(class)进行抽象,每个对象看成类的实例。
Python既支持面向过程编程,也支持面向对象编程。

3.数据类型——针对变量而言

(1)强类型与弱类型:鉴别标准为是否允许类型方面的untrapped errors(出错后继续执行)。一旦发现出错不可执行的为强类型,否则为弱类型。
强类型程序设计语言优点:
<1>.编译时检查出错误的类型匹配,提高程序安全性;
<2>.根据对象类型优化运算,提高目标代码质量;
<3>.减少运行时的开销。

强类型程序设计语言缺点: 灵活性差。
弱类型与之相反。

(2)静态类型与动态类型:鉴别标准为对于类型错误的检查操作的时间顺序,静态类型数据检查仅在编译时进行,动态类型数据检查在运行期间进行。
静态类型语言分类:
<1>显式类型:类型是语言语法的一部分;
<2>隐式类型:类型同归编译时推导。

举例:
无类型:汇编语言
弱类型、静态类型:C、C++
弱类型、动态类型:Perl、PHP
强类型、静态类型:Java、C#
强类型、动态类型:Python、Scheme
静态显式类型:Java、C
静态隐式类型:ML、Haskell、OCaml

4.其他特点

——设计哲学:优雅、明确、简单
(1).简单、易学。
Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,它使人们能够专注于解决问题而不是去搞明白语言本身。Python及其容易上手,因为其有着及其简单的说明文档。
(2)免费、开源、开放。
Python是纯粹的自由软件,允许使用者自由地发布这个软件的副本,阅读和改动其源代码并将其运用于新的自由软件中。它具有良好的可嵌入性、扩展性以及与其他语言的相容性,有“胶水语言”的昵称,能够把用其他语言制作的各种模块(尤其是C、C++)很轻松地连接在一起;可以把Python嵌入C、C++程序,向程序用户提供脚本功能;也可以使用工具,将Python代码转换为其他语言(如C++)代码,形成与平台无关的运行方式。开放性使它能不断丰富其强大的标准库,还能得到以第三方社区为核心的广泛支持,使其应用领域不断扩大。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值