Python语言是一门解释性、面向对象和动态类型的语言。
下面分别介绍这三个修饰词。
解释性语言:
与编译型语言相对,解释性语言没有独立的编译过程,而是在运行过程中对程序进行解释。因此相对于编译型语言,它的运行速度比较慢,并且每次运行都需要进行解释。而编译型语言经过编译过程,生成可执行文件——机器码,可以由计算机直接运行的,执行速度比较快。负责解释过程的,叫做解释器,也是这门语言的运行环境。只要该解释器是对这门语言的标准实现,那么Python程序就可以做到跨平台。
像编译器一样,Python的解释器也需要进行语法分析(syntax analysis),然后翻译成中间语言,进行执行。这点它与java采取的策略相似。
面向对象:
面向对象(object oriented)最重要的特点是允许、并提供设施让程序员可以自定义类型(class),这些自定义类型是构建在基本类型基础之上的。类型之间的关系引申出“继承”和“多态”。类型的构造方式,包含状态(域)和方法(函数),引申出“封装”的概念。
动态类型语言:
相对于静态类型,动态类型语言不需要程序员在写程序时给变量或者函数参数及返回值明确的类型,如int、string、float等,但是并不是说这些语言没有基本类型。每种语言都必须对变量进行类型划分,这是由程序语言的本质、或者说计算的本质决定的。那么就需要Python解释器具有类型推到系统,能够根据变量的值推到出它的类型,并关联上它能够被执行的操作。