Python简介之探观止矣

Python是一门什么样的编程语言
编程语言主要分为编译型和解释型,静态语言和动态语言,强类型和弱类型,混合语言等。

编译型语言:通过编译器把源代码编译(compile)成机器语言(二进制),在经过链接(linker)器,将源代码中需要使用的库(系统库,第三方库)和生成的二进制串联起来生成可执行二进制文件,这样运行时计算机可以直接以机器语言来运行程序。

优点:运行效率高。

缺点:1、编译之后,如果修改代码某一处需要重新编译整个模块。

          2、可移植形不好,编译形语言在编译时根据当前操作系统生成机器码,链接是根据当前操作系统提供的库文件,所以不同的操作系统之间移植就会有问题,代表语言:C,C++,object-C等。

解释型语言:不需要编译,链接生成可执行文件,但需要解释器,在程序运行时解释器逐条将源代码翻译成机器语言执行。

优点:因为是依靠解释器来运行程序,所以跨平台支持比较好,

缺点:程序运行效率会比较慢。如:python,php,Perl等。

动态语言:动态类型语言,是指数据类型,结构(如对象,函数)的检查是在程序运行时做的。该语言在给变量赋值时,会在内部记录数据类型,因此我们在给变量赋值时不需要像编译形语言那样考虑变量的数据类型,在程序运行时可以根据值的类型改变变量的数据类型。代表语言:python,PHP,C#等。

静态语言:静态类型语言,是指数据类型,结构的检查是在运行前(编译阶段)做的,程序运行时变量的数据类型,数据结构不可变。代表语言:C,C++等。

强类型语言:如果某个变量的数据类型不经过强制转换,该变量类型是不会改变的。

弱类型语言:变量可以根据赋值类型调整自身的数据类型。

混合型语言:既然编译型和解释型各有缺点就会有人想到把两种类型整合起来,取其精华去其糟粕。就出现了半编译型语言。比如C#,C#在编译的时候不是直接编译成机器码而是中间码,.NET平台提供了中间语言运行库运行中间码,中间语言运行库类似于Java虚拟机。.net在编译成IL代码后,保存在dll中,首次运行时由JIT在编译成机器码缓存在内存中,下次直接执行。Java先生成字节码再在Java虚拟机中解释执行。严格来说混合型语言属于解释型语言。C#更接近编译型语言。

由此可知python语言是一门解释、动态、弱类型语言。

python语言的优点:

1、python的定位是“优雅”、“明确”、“简单”,所以python程序看上去总是简单易懂,对于初学者容易入门。

2、开发效率高,python有非常强大的第三方库,基本上你想通过计算机实现任何功能,python官方库里都有相应的模块进行支持,直接下载调用后,在基础 库的基础上进行开发,大大降低开发周期,避免重复造轮子。

3、高级语言,当使用python语言编写程序时,无需考虑如何管理内存等底层细节。

4、可移植性,由于它开源的本质,python已经被移植在许多平台上,如果你小心的避免使用依赖于系统特性,那么你的所有python程序无需修改就几乎可以  在市场上所有的系统平台运行。

5、可扩展性,如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,可以把部份程序用C或C++编写库,然后用python调用。

6、可嵌入式,可以把python嵌入到C/C++程序,从而向你的程序用户提供脚本功能。

python语言的缺点:

1、速度慢,由于是解释型所以运行速度相比编译型语言要慢,跟Java相比也要慢一些。

2、代码不能加密,因为python是解释型语言,它的源码都是以明文形式存放的,所以如果项目要求源代码必须保密或者加密,那一开始就不应该考虑用python来实现。

3、强制缩进,单行语句不用写分号对于习惯了C/C++用户可能不是太习惯。

4、Python 2 与 Python 3 不兼容,因为 Python 没有向后兼容,给所有的 Python 工程师带来了烦恼。


下一篇:变量,格式化输出,str的常用方法:https://www.cnblogs.com/caesar-id/p/10196702.html

原文地址:https://www.cnblogs.com/caesar-id/p/10186963.html