python以及一些编程语言都会从以下几个方面分类;编译型、解释型,静态和动态语言、强类型和弱类型定义语言。
编译型:所有程序均用二进制代码编译。
特点:执行速度快
缺点:开发率低,不可跨平台运行。所谓跨平台运行即可以在多个系统平台(如:linux,Windows,mac,unix)运行
代表型语言,常见的有:C/C++;还有一些不是很常见的(例如:Objective-C,swift,Kotlin)
解释型:程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次。因此效率比较低。
优点:开发效率高,可跨平台
缺点:运行速度慢
动态和静态语言
动态语言:动态语言是指在运行期间才去做数据类型检测的语言。在用动态语言编程的时候并不需要给变量指定数据类型,该语言会在第一次将数据赋值给变量的时候在内部将数据类型记录下来。典型的动态语言如Python。
静态语言:静态语言是指在编译期间对数据类型进行检查的语言。这种语言在编写程序时需要声明所有变量的数据类型。典型的静态语言比如上文的C,C++、Java。
两者的优缺点
动态语言:思维不受任何约束可任意发挥
静态语言:他的数据类型是在编译期间检查的,也就是说再写程序时要声明所有变量的数据类型。代表语言:C/c++,C#,java等
强类型定义语言和弱类型定义语言
强类型定义语言:强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制类型转换,那么它就永远是这个数据类型了。
弱类型定义语言:数据类型可以被忽略的语言。一个变量可以赋不同数据类型的值。
python是一门动态解释性的强类型定义语言