为什么说 Python 是强类型语言?

Python023

为什么说 Python 是强类型语言?,第1张

python不倾向于对变量的类型做隐式转换,根据定义可以判定是一门强类型语言。

Python很少会隐式地转换变量类型,java、.NET、C/C++等都是强制类型定义的。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。例如你有一个整数,如果不显式地进行转换,你不能将其视为一个字符串。

一般而言,在编译期就确定变量类型的是静态类型语言,在运行期才确定变量类型的则是动态类型语言。

例如,某些语言中定义函数“int func(int a){…}”,在编译时就能确定知道它的参数和返回值是int类型,所以是静态类型;而典型如Python,定义函数时写“def func(a):…”,并不知道参数和返回值的类型,只有到运行时调用函数,才最终确定参数和返回值的类型,所以是动态类型。

Python是弱类型。。。。说Python是强类型的,完全是在忽悠人。

网上常常出现说Python是强类型的说法:由于 "1"+1 会报错,所以Python是强类型。。

完全是扯淡。。。JAVA,C#输入"1"+1,都会输出"11"。。。难道JAVA和C#都是弱类型?JAVASCRIPT输入"1"+1会报错,难道JS却成了强类型?

判断一门语言是不是强类型。。。例子应该如此:

java的例子(强类型):

int a=1

a="1" //报错

C#的例子(强类型):

int a=1

a="1"//报错

JS的例子(弱类型):

var a=1

a="1" //不报错

PHP的例子(弱类型):

$a=1

a="1"//不报错

所以,Python显然是弱类型。