弱类型语言

强类型语言和弱类型语言

Deadly 提交于 2019-12-05 19:14:57
参考文章: https://blog.csdn.net/sinolzeng/article/details/40742757 编译型和解释型   我们先看看编译型,其实它和汇编语言是一样的:也是有一个负责翻译的程序来对我们的源代码进行转换,生成相对应的可执行代码。这个过程说得专业一点,就成为编译(Compile),而负责编译的程序自然就称为编译器(Compiler)。   如果我们写的程序代码都包含在一个源文件中,那么通常编译后就会直接生成一个可执行文件,我们就可以直接运行了。但对于一个比较复杂的项目,为了方便管理,我们通常把代码分散在各个源文件中,作为不同的模块来组织。这时编译各个文件时就会生成目标文件(Ojbect file)而不是前面说的可执行文件。一般一个源文件的编译都会对应一个目标文件。这些目标文件里的内容基本上以及可执行代码了,但由于只是整个项目的一部分,所以我们还不能直接运行。   待所有的源文件的编译都大功告成,我们就可以最后把这些半成品的目标文件“打包”成一个可执行文件了,这个工作由另一个程序负责完成,由于词过程好像是把包含可执行代码的目标文件连接装配起来,所以有称为链接(Link),而负责链接的程序就叫链接程序(Linker)。链接程序除了链接目标文件外,可能还有各种资源,像图标文件啊、声音文件啊什么的,还要负责去除目标文件之间的冗余重复代码,等待

python是强语言还是弱语言?

早过忘川 提交于 2019-12-02 05:00:18
python是强语言还是弱语言,没有一个具体官方的说法 数据类型也就是变量类型,一般编程语言的变量类型可以分成下面两类。 静态类型与动态类型 静态类型语言:一种在编译期间就确定数据类型的语言。大多数静态类型语言是通过要求在使用任一变量之前声明其数据类型来保证这一点的。Java 和 C 是静态类型语言。 动态类型语言:一种在运行期间才去确定数据类型的语言,与静态类型相反。VBScript 和 Python 是动态类型的,因为它们确定一个变量的类型是在你第一次给它赋值的时候。不使用显示数据类型声明,且确定一个变量的类型是在第一次给它赋值的时候。 强类型与弱类型 强类型语言:一种总是强制类型定义的语言。Java 和 Python 是强制类型定义的。您有一个整数,如果不明确地进行转换 ,不能将把它当成一个字符串。强类型:不允许不同类型相加。例如:整形+字符串会报类型错误。偏向于不容忍隐式类型转换 弱类型语言:一种类型可以被忽略的语言,与强类型相反。VBScript 是弱类型的。在 VBScript 中,您可以将字符串 '12' 和整数 3 进行连接得到字符串'123',然后可以把它看成整数 123 ,所有这些都不需要任何的显示转换。偏向于容忍隐式类型转换 所以,Python 既是动态类型语言 (因为它不使用显示数据类型声明),又是强类型语言(因为只要一个变量获得了一个数据类型