为什么说 Python 是强类型语言

如题所述

强类型指的是一个变量被赋值为一个对象后,这个对象的类型就固定了,不能隐式转换成另一个类型。
简单来说,JS 中 '' * [] 会被隐式转换成 0 * 0,结果是 0,这在 Python 中是不允许的。

动态联编其实不是 Python 的特性,所有面向对象的语言基本都需要实现。它使得执行一个对象的方法时,使用的是它自己(或它的类)的方法,而不是它的父类的方法。
如果是静态联编的话,变量被声明成什么类型,就只能调用这个类型的方法,因为在编译期函数的入口地址就已经静态绑定了。
而动态联编则是把函数的入口地址保存起来(例如放在一个表里),在运行时判断应该调用哪个函数。

不过我想你真正想问的是 Python 的动态性,这才是它迷人的地方。作为一门动态语言,它可以在运行时更改自己的结构,例如添加、删除或替换函数,以及对象/类的属性和方法等。

请采纳。
温馨提示:内容为网友见解,仅供参考
无其他回答

什么是强类型语言,什么是弱类型语言,为什么python也是强类型语言。
强类型语言是一种定义了类型后,不需经过强制转换就能保持该数据类型的编程语言,如Java、.net、Python、C++。强类型定义语言使得编程时更加严谨,减少错误发生,但可能在运行速度上稍逊于弱类型语言。弱类型语言则允许变量根据环境自动转换类型,无需显式转换,如VB、PHP、JavaScript。例如,在弱类型语言中...

为什么说 Python 是强类型语言?
python不倾向于对变量的类型做隐式转换,根据定义可以判定是一门强类型语言。Python很少会隐式地转换变量的类型,java、.NET、C\/C++等都是强制类型定义的。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。例如你有一个整数,如果不显式地进行转换,...

为什么说 Python 是强类型语言
强类型指的是一个变量被赋值为一个对象后,这个对象的类型就固定了,不能隐式转换成另一个类型。简单来说,JS 中 '' * [] 会被隐式转换成 0 * 0,结果是 0,这在 Python 中是不允许的。动态联编其实不是 Python 的特性,所有面向对象的语言基本都需要实现。它使得执行一个对象的方法时,使...

python是强类型语言吗
Python是弱类型。。。说Python是强类型的,完全是在忽悠人。网上常常出现说Python是强类型的说法:由于 "1"+1 会报错,所以Python是强类型。。完全是扯淡。。。JAVA,C#输入"1"+1,都会输出"11"。。。难道JAVA和C#都是弱类型?JAVASCRIPT输入"1"+1会报错,难道JS却成了强类型?判断一门语言是不是...

python语言的性质
在类型系统方面,python是一种强类型语言,意味着变量的数据类型一旦被定义,就固定下来。如赋值语句:name = 'egon',此时name变量的数据类型是字符型,值为'egon',在后续操作中不能随意改变。相比之下,弱类型语言允许数据类型在运行时变化,如Linux中的shell脚本,变量的数据类型可根据上下文动态调整。

为什么说 Python 是强类型语言
因为那是不懂装懂的初学者在相互洗脑。。。Python是彻头彻尾的弱类型。强类型和弱类型的最核心区别,在于IDE是否可以通过反射,实时感知变量的数据类型,Python显然不具备这个特点。string a=“1”;a=1;强类型(JAVA,C#,C++),这里会报错。。。var a="1"; \/\/JS a="1"; \/\/PHP a="1...

python是什么样的编程语言?
Python是一种计算机程序设计语言,是一种面向对象的动态、强类型脚本语言(解释型语言)。 脚本语言:一般也是解释型语言。 优点 简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。 易学:Python极其容易上手,因为Python有极其...

什么是强类型和弱类型
强类型定义语言 一种总是强制类型定义的语言。Java和Python是强制类型定义的。如果你有一个整数,如果不显示地进行转换,你不能将其视为一个字符串(在本章后面会有更多如何去做的内容)。弱类型定义语言 一种类型可以被忽略的语言,与强类型定义相反。VBScript是弱类型定义的。在VBScript中,可以将字符...

什么是强\/弱类型引用?
强类型语言在未经显式类型转换的情况下,禁止不同类型的变量进行运算。Java、C#和Python等都是强类型语言。选择使用哪种语言应根据具体需求来定。对于编写简单的小应用程序,使用弱类型语言可以减少代码量,提高开发效率。而在构建大型项目时,使用强类型语言可能会更加规范和可靠。1. 值类型:数据存储在...

什么是强\/弱类型引用?
强类型语言在没有强制类型转化前,不允许两种不同类型的变量相互操作。Java、C# 和 Python 等都是强类型语言。使用哪种语言还是要按需而定。编写简单小应用,使用弱类型语言可节省很多代码量,有更高的开发效率。而对于构建大型项目,使用强类型语言可能会比使用弱类型更加规范可靠。1.值类型:数据存储在...

相似回答