就算全世界都不珍惜你,自己也要学会珍惜自己
文章目录
python是解释型的强类型动态语言
概括地说,编程语言的划分方式有以下三种
一、 编译型or解释型
编译型
- 优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。
- 缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。
解释型(python属于解释型)
- 优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。
- 缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。
二、强类型or弱类型
强类型语言(python属于强类型)
强制数据类型定义的语言,也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。
举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。
强类型定义语言是类型安全的语言。
即:数据类型不可以被忽略的语言 即变量的数据类型一旦被定义,那就不会再改变,除非进行强转。
在python中,例如:name = ‘egon’,这个变量name在被赋值的那一刻,数据类型就被确定死了,是字符型,值为’egon’。
弱类型语言
数据类型可以被忽略的语言 比如linux中的shell中定义一个变量,是随着调用方式的不同,数据类型可随意切换的那种。
三、动态型or静态型
通常我们所说的动态语言、静态语言是指动态类型语言和静态类型语言。
动态语言(python属于动态语言)
运行时才进行数据类型检查 即在变量赋值时,才确定变量的数据类型,不用事先给变量指定数据类型 。
也就是说,在用动态类型的语言编程时,永远也不会给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。
python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如VBScript也多少属于动态类型语言。
静态语言
静态类型语言与动态类型语言刚好相反,需要事先给变量进行数据类型定义 。
它的数据类型是在编译其间检查的,也就是说在写程序时要声明所有变量的数据类型,C/C++是静态类型语言的典型代表,其他的静态类型语言还有C#、JAVA等。
四、总结
强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。另外,“这门语言是不是动态语言”与“这门语言是否类型安全”之间是完全没有联系的!
例如:
- Python是动态语言,是强类型定义语言(类型安全的语言);
- VBScript是动态语言,是弱类型定义语言(类型不安全的语言);
- JAVA是静态语言,是强类型定义语言(类型安全的语言)。
综上所述,Python是一门解释型的强类型动态语言
版权归原作者 淘小欣 所有, 如有侵权,请联系我们删除。