怎么总有人说python是弱类型语言

Python019

怎么总有人说python是弱类型语言,第1张

首先,python的not xxx,几乎与C的(!xxx) 没什么区别。

int与float的问题,我不是专家,不清楚专业上该怎么表述,直观感觉就是小数据类型转换成大数据类型的操作。

说C是弱类型显然是夸张了,主要问题是void*这种指针可以任意转换,这样类型细节就丢掉了。

不是。python是强类型语言,一个变量不经过强制转换,它永远是这个数据类型,不允许隐式的类型转换。

例如:1+"2" 在python中会报错,因为一个数字,一个是字符串,python是强类型语言,不会默认进行转换,所以报错。

Python 是强类型的

Python 不需要泛型是因为 Python 的变量签名是动态的,有 lazy binding 效果。比如一个函数传入 connection 参数,然后函数中调用 connection.close() 。直到你调用这个函数的时候(运行期),虚拟机才会去查找 close 方法,而不是像静态类型语言一样在编译期或装载期就事先建立符号表。