百度空间 | 百度首页 
 
查看文章
 
什么是动态语言?
2009-11-08 20:55

动态语言的全称为动态类型语言(Dynamically Typed Language)。动态语言和静态类型语言(Statically Typed Language)、强类型语言(Strongly Typed Language)和弱类型语言(Weakly Typed Language)是容易混淆的几个概念。我曾经误以为动态类型语言与弱类型语言是等价的,后来发现并非如此,例如Python就既是动态语言又是强类型 语言。这4个概念都与变量的数据类型有关,比较如下:

1. 在静态类型语言中,使用变量(Variable)之前,通常要求声明(固定)变量的数据类型。变量和特定数据类型一旦绑定,就不可更改。编译器会对代码进 行数据类型的检查,确保代码中不会出现类型不一致的情况。例如如果我们定义了一个整型(int)变量,却试图将一个字符串赋值给它,编译时就会报错。

2. 在动态类型语言中,通常不要求声明变量的数据类型,变量的数据类型是可变的。例如可以先将一个整数10赋变量a,然后再将字符串”hello”赋给变量a。变量的数据类型随着赋给它的值(Value)的类型变化。

3. 在强类型语言中,不允许对变量施加与其类型的不相符的操作,比如不允许将字符串和整数相加,例如:”hello”+10。你必须手工将整数10转换成字符串”10″,才能相加。

4. 在弱类型语言中,出现”hello”+10的情况,编译器或解释器不会报错,而是自动进行类型转换,例如将整数10转换成字符串”10″,返回结果”hello10″。


类别:默认分类 | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu