动态、静态是指变量的绑定方式,静态语言在编译时绑定,动态语言可以在运行时随意绑定。 不要看到python的"="就认为那是静态语言的赋值运算符,在python中等号的语意是"绑定"将变量与实际对象 结合在一起。而强、弱类型是说变量的类型在运算上下文中是否可以自动转换,对于1 + "1000"这样一条语言 python会报错,因为它是强类型语言,而perl便能进行自动类型转换,所以它是弱类型。
给你来个例子把 弱类型语言vbs: a=1 b=a+"1"+"a" //结果是11a,这里 a 成了字符串 c=a+1 //结果是2 ,这里a则是数字型 强类型语言:c# int a=2 string b=a.ToString()+"1"+"a" int c=a+1 看到了吗?区分大小写,需要实现申明类型外,一个重要的区别是,弱类型的语言的东西没有明显的类型,他能随着环境的不同,自动变换类型 而强类型则没这样的规定,不同类型间的操作有严格定义,只有相同类型的变量才能操作,虽然系统也有一定的默认转换,当绝没有弱类型那么随便 ps:弱类型代码简单,但因为变量没有确定的类型,所以容易出错!强类型代码复杂(比如:转换日期显示格式 (convert.toDatetime("2007-1-1 08:08:08")).ToString("yyyy-MM-dd"),呵呵你可以看到这种写法相当麻烦),但因为有严格定义所以不容易出错
python是弱类型的,你存的是什么类型,它就是什么类型,取出来也不需要强转 --- 共有 1 条评论 --- 何世友 自动类型的强类型。非弱类型。