发布网友 发布时间:2022-04-23 08:39
共2个回答
懂视网 时间:2022-04-18 07:23
强弱是对类型而言的。
强类型,你有一个值之后这个值是什么类型是确定,比如n='1',n的类型是确定的(字符串),因此你不能在Python做n='3' m=n+1运算。而弱类型就不是这样的,值的类型可以在需要的时候再去确定,比如PHP里面你可以$n='3'; $m=$n+1,运算的时候'3'就可以当作整型来进行计算。
弱类型使用会灵活些,但有时候也会因为这种灵活而带来一些歧义,相比而已,强类型就更严谨了。
Python 是强类型的动态脚本语言
好多人对python到底是强语言类型还是弱语言类型存在误解,其实,是否是强类型语言只需要一句话就可以判别,
强类型:不允许不同类型相加。例如:整形+字符串会报类型错误。
动态:不使用显示数据类型声明,且确定一个变量的类型是在第一次给它赋值的时候。
脚本语言:一般是解释性语言,运行代码只需要一个解释器,不需要编辑。
热心网友 时间:2022-04-18 04:31
强类型指的是一个变量被赋值为一个对象后,这个对象的类型就固定了,不能隐式转换成另一个类型。
简单来说,JS 中 '' * [] 会被隐式转换成 0 * 0,结果是 0,这在 Python 中是不允许的。
动态联编其实不是 Python 的特性,所有面向对象的语言基本都需要实现。它使得执行一个对象的方法时,使用的是它自己(或它的类)的方法,而不是它的父类的方法。
如果是静态联编的话,变量被声明成什么类型,就只能调用这个类型的方法,因为在编译期函数的入口地址就已经静态绑定了。
而动态联编则是把函数的入口地址保存起来(例如放在一个表里),在运行时判断应该调用哪个函数。
不过我想你真正想问的是 Python 的动态性,这才是它迷人的地方。作为一门动态语言,它可以在运行时更改自己的结构,例如添加、删除或替换函数,以及对象/类的属性和方法等。
请采纳。