python是动态语言,是否弱类型语言
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python是动态语言,是否弱类型语言相关的知识,希望对你有一定的参考价值。
参考技术A 不是。python是强类型语言,一个变量不经过强制转换,它永远是这个数据类型,不允许隐式的类型转换。例如:1+"2"
在python中会报错,因为一个数字,一个是字符串,python是强类型语言,不会默认进行转换,所以报错。
简单理解弱类型动态类型解释型语言
弱类型和强类型
简单的说,二者的区别就是是否偏向于容忍隐式类型转换。
$str = ‘abc‘; //str是一个字符串 $str = 1; //这时候又变成整形 if($str){}; //这时候又是一个布尔型
所以php是弱类型语言,变量类型会自动转换。
动态类型和静态类型
简单的说,二者的区别就是声明变量的时候是否需要指定变量类型。
php是动态类型语言,声明变量时无需指定类型。
注意: 一个语言是不是强类型语言和是不是动态类型语言没有必然联系。
动态语言和静态语言
简单的说,二者的区别就是代码运行时是否可以改变其结构。例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。
php是动态语言,代码运行时可以动态改变结构。
解释型和编译型
用编译型语言写的程序执行之前,需要先有一个专门的编译过程,以后就可以直接运行而不需要编译了,例如windows的exe文件,因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率较高。
解释型语言编写的程序不需要编译,只在运行的时候才翻译,但是这样的话每执行一次就要翻译一次,效率比较低。优点在于不需要专门的编译过程,可以随时编写代码并立即运行。
php是解释型语言。
以上是关于python是动态语言,是否弱类型语言的主要内容,如果未能解决你的问题,请参考以下文章